home *** CD-ROM | disk | FTP | other *** search
-
- # line 8 "rttgram.y"
- #include "../h/gsupport.h"
- #include "rtt1.h"
- #define YYMAXDEPTH 250
-
- # line 13 "rttgram.y"
- typedef union {
- struct token *t;
- struct node *n;
- long i;
- } YYSTYPE;
- # define Identifier 257
- # define StrLit 258
- # define LStrLit 259
- # define FltConst 260
- # define DblConst 261
- # define LDblConst 262
- # define CharConst 263
- # define LCharConst 264
- # define IntConst 265
- # define UIntConst 266
- # define LIntConst 267
- # define ULIntConst 268
- # define Arrow 269
- # define Incr 270
- # define Decr 271
- # define LShft 272
- # define RShft 273
- # define Leq 274
- # define Geq 275
- # define Equal 276
- # define Neq 277
- # define And 278
- # define Or 279
- # define MultAsgn 280
- # define DivAsgn 281
- # define ModAsgn 282
- # define PlusAsgn 283
- # define MinusAsgn 284
- # define LShftAsgn 285
- # define RShftAsgn 286
- # define AndAsgn 287
- # define XorAsgn 288
- # define OrAsgn 289
- # define Sizeof 290
- # define Intersect 291
- # define OpSym 292
- # define Typedef 293
- # define Extern 294
- # define Static 295
- # define Auto 296
- # define Register 297
- # define Tended 298
- # define Char 299
- # define Short 300
- # define Int 301
- # define Long 302
- # define Signed 303
- # define Unsigned 304
- # define Float 305
- # define Doubl 306
- # define Const 307
- # define Volatile 308
- # define Void 309
- # define TypeDefName 310
- # define Struct 311
- # define Union 312
- # define Enum 313
- # define Elipsis 314
- # define Case 315
- # define Default 316
- # define If 317
- # define Else 318
- # define Switch 319
- # define While 320
- # define Do 321
- # define For 322
- # define Goto 323
- # define Continue 324
- # define Break 325
- # define Return 326
- # define Runerr 327
- # define Is 328
- # define Cnv 329
- # define Def 330
- # define Exact 331
- # define Empty_type 332
- # define Null 333
- # define String 334
- # define Cset 335
- # define Integer 336
- # define File 337
- # define Real 338
- # define List 339
- # define Set 340
- # define Table 341
- # define Record 342
- # define Procedure 343
- # define Co_expression 344
- # define Variable 345
- # define Tvsubs 346
- # define Tvtbl 347
- # define Kywdint 348
- # define Kywdpos 349
- # define Kywdsubj 350
- # define Named_var 351
- # define Struct_var 352
- # define Substr 353
- # define C_Integer 354
- # define C_Double 355
- # define C_String 356
- # define Tmp_string 357
- # define Tmp_cset 358
- # define Body 359
- # define End 360
- # define Function 361
- # define Keyword 362
- # define Operator 363
- # define Underef 364
- # define Declare 365
- # define Suspend 366
- # define Fail 367
- # define Inline 368
- # define Abstract 369
- # define Store 370
- # define Type 371
- # define New 372
- # define Lst_elem 373
- # define Set_elem 374
- # define Key 375
- # define Tbl_elem 376
- # define All_fields 377
- # define Str_var 378
- # define Trpd_tbl 379
- # define Then 380
- # define Type_case 381
- # define Of 382
- # define Len_case 383
- # define Constant 384
- # define Errorfail 385
- # define IfStmt 386
- #define yyclearin yychar = -1
- #define yyerrok yyerrflag = 0
- extern int yychar;
- extern int yyerrflag;
- #ifndef YYMAXDEPTH
- #define YYMAXDEPTH 150
- #endif
- YYSTYPE yylval, yyval;
- # define YYERRCODE 256
-
- # line 1119 "rttgram.y"
-
- int yyexca[] ={
- -1, 0,
- 0, 279,
- 258, 299,
- 361, 299,
- 362, 299,
- 363, 299,
- -2, 193,
- -1, 1,
- 0, -1,
- -2, 0,
- -1, 2,
- 0, 280,
- 258, 299,
- 361, 299,
- 362, 299,
- 363, 299,
- -2, 193,
- -1, 51,
- 44, 113,
- 59, 113,
- -2, 290,
- -1, 58,
- 44, 115,
- 59, 115,
- -2, 289,
- -1, 122,
- 123, 166,
- -2, 168,
- -1, 160,
- 125, 257,
- 59, 86,
- -2, 230,
- -1, 259,
- 125, 257,
- 59, 86,
- -2, 230,
- -1, 260,
- 125, 258,
- 59, 86,
- -2, 230,
- -1, 276,
- 58, 293,
- -2, 1,
- -1, 277,
- 58, 294,
- -2, 98,
- -1, 283,
- 59, 86,
- -2, 230,
- -1, 329,
- 41, 212,
- -2, 193,
- -1, 391,
- 41, 204,
- 44, 204,
- -2, 193,
- -1, 416,
- 59, 86,
- -2, 230,
- -1, 418,
- 59, 86,
- -2, 230,
- -1, 472,
- 41, 214,
- 44, 214,
- -2, 194,
- -1, 535,
- 59, 86,
- -2, 230,
- -1, 564,
- 40, 193,
- 91, 193,
- -2, 219,
- -1, 635,
- 293, 219,
- 294, 219,
- 295, 219,
- 296, 219,
- 297, 219,
- 299, 219,
- 300, 219,
- 301, 219,
- 302, 219,
- 303, 219,
- 304, 219,
- 305, 219,
- 306, 219,
- 307, 219,
- 308, 219,
- 309, 219,
- 310, 219,
- 311, 219,
- 312, 219,
- 313, 219,
- 41, 219,
- 354, 219,
- 355, 219,
- 356, 219,
- -2, 193,
- -1, 642,
- 59, 86,
- -2, 230,
- -1, 643,
- 59, 86,
- -2, 230,
- -1, 645,
- 59, 86,
- -2, 230,
- -1, 694,
- 59, 86,
- -2, 230,
- -1, 741,
- 59, 86,
- -2, 230,
- -1, 746,
- 58, 458,
- -2, 316,
- -1, 789,
- 59, 86,
- -2, 230,
- -1, 809,
- 59, 86,
- -2, 230,
- };
- # define YYNPROD 508
- # define YYLAST 3565
- int yyact[]={
-
- 188, 682, 266, 293, 16, 734, 662, 736, 262, 278,
- 371, 583, 126, 8, 676, 8, 63, 675, 680, 663,
- 385, 693, 218, 511, 233, 571, 168, 390, 378, 127,
- 9, 456, 9, 367, 208, 66, 165, 261, 255, 50,
- 248, 11, 292, 234, 119, 119, 110, 506, 120, 120,
- 762, 58, 440, 13, 119, 504, 243, 498, 120, 15,
- 159, 162, 656, 56, 215, 25, 495, 700, 53, 12,
- 51, 112, 660, 570, 140, 142, 141, 259, 384, 55,
- 329, 368, 369, 370, 203, 701, 560, 222, 328, 542,
- 187, 202, 741, 670, 256, 201, 681, 115, 23, 24,
- 31, 366, 413, 687, 713, 176, 145, 758, 759, 760,
- 761, 763, 764, 765, 414, 415, 572, 572, 683, 322,
- 267, 336, 337, 154, 798, 712, 222, 770, 207, 338,
- 309, 339, 499, 222, 166, 806, 205, 206, 117, 122,
- 166, 18, 19, 20, 21, 22, 681, 730, 132, 342,
- 343, 380, 579, 154, 154, 23, 24, 154, 119, 664,
- 509, 276, 120, 61, 56, 277, 152, 149, 404, 163,
- 235, 166, 204, 213, 432, 153, 254, 163, 52, 216,
- 146, 56, 817, 59, 326, 357, 53, 442, 359, 53,
- 358, 788, 360, 53, 249, 211, 775, 55, 114, 258,
- 708, 404, 630, 529, 295, 333, 515, 510, 150, 319,
- 496, 53, 407, 244, 263, 5, 644, 5, 580, 578,
- 160, 769, 497, 353, 222, 257, 372, 373, 232, 231,
- 230, 157, 334, 148, 349, 818, 235, 751, 388, 355,
- 707, 678, 491, 327, 154, 383, 783, 440, 799, 528,
- 392, 655, 564, 717, 210, 144, 669, 505, 119, 466,
- 276, 276, 120, 125, 277, 411, 405, 393, 441, 410,
- 136, 130, 235, 440, 377, 790, 786, 235, 714, 683,
- 748, 224, 403, 688, 276, 647, 429, 553, 411, 398,
- 411, 229, 426, 782, 402, 235, 554, 409, 433, 433,
- 443, 713, 654, 565, 713, 209, 143, 110, 164, 549,
- 545, 544, 417, 119, 119, 449, 239, 120, 120, 212,
- 224, 251, 712, 227, 424, 712, 333, 224, 247, 713,
- 229, 419, 228, 223, 129, 333, 333, 229, 439, 161,
- 400, 396, 438, 340, 341, 225, 308, 226, 217, 638,
- 712, 388, 445, 446, 431, 399, 395, 467, 241, 455,
- 327, 135, 227, 392, 327, 23, 24, 430, 421, 227,
- 493, 228, 223, 129, 379, 355, 134, 789, 228, 223,
- 393, 488, 489, 490, 225, 355, 226, 31, 128, 473,
- 540, 225, 471, 226, 352, 472, 368, 369, 370, 778,
- 500, 777, 362, 793, 49, 119, 428, 450, 451, 120,
- 452, 474, 475, 453, 444, 531, 533, 276, 224, 276,
- 477, 411, 468, 411, 537, 534, 476, 536, 229, 492,
- 776, 494, 235, 519, 406, 507, 508, 543, 546, 547,
- 548, 524, 249, 526, 550, 732, 166, 56, 241, 527,
- 713, 521, 530, 522, 520, 729, 53, 472, 244, 408,
- 227, 354, 535, 55, 437, 538, 539, 503, 541, 228,
- 223, 712, 53, 486, 487, 480, 481, 482, 483, 552,
- 484, 485, 225, 454, 226, 91, 92, 93, 94, 95,
- 97, 96, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, 109, 502, 562, 381, 382, 31, 478,
- 479, 584, 31, 501, 418, 585, 584, 416, 632, 401,
- 585, 573, 63, 397, 250, 325, 324, 631, 245, 323,
- 774, 392, 409, 574, 576, 577, 276, 455, 702, 815,
- 411, 629, 816, 344, 639, 345, 634, 169, 393, 699,
- 235, 348, 235, 460, 457, 458, 346, 459, 311, 518,
- 649, 347, 650, 651, 312, 653, 517, 636, 811, 637,
- 440, 812, 513, 461, 462, 463, 464, 465, 772, 747,
- 648, 773, 440, 372, 645, 643, 642, 440, 440, 440,
- 658, 640, 235, 684, 641, 661, 581, 555, 469, 582,
- 556, 440, 513, 512, 31, 668, 455, 827, 826, 310,
- 30, 822, 814, 809, 455, 795, 794, 792, 781, 297,
- 771, 753, 740, 733, 473, 705, 698, 652, 111, 566,
- 472, 557, 516, 470, 351, 238, 807, 767, 715, 685,
- 673, 672, 671, 276, 276, 689, 276, 411, 411, 646,
- 411, 690, 691, 686, 695, 561, 559, 697, 558, 694,
- 427, 575, 425, 423, 710, 422, 420, 709, 376, 335,
- 392, 375, 372, 372, 372, 718, 719, 145, 706, 703,
- 455, 235, 721, 722, 723, 3, 737, 393, 47, 696,
- 374, 236, 725, 720, 659, 521, 455, 745, 731, 727,
- 363, 472, 455, 749, 455, 455, 750, 694, 735, 739,
- 455, 754, 455, 514, 743, 139, 372, 392, 214, 138,
- 316, 318, 236, 320, 768, 752, 766, 137, 455, 156,
- 746, 755, 756, 60, 393, 780, 10, 48, 677, 784,
- 584, 6, 276, 4, 585, 2, 411, 455, 455, 412,
- 787, 785, 270, 455, 704, 779, 657, 236, 791, 156,
- 156, 237, 350, 156, 158, 121, 252, 525, 523, 1,
- 796, 569, 568, 679, 797, 365, 692, 800, 801, 742,
- 724, 674, 364, 804, 737, 219, 635, 313, 314, 315,
- 221, 805, 808, 236, 220, 361, 7, 810, 236, 802,
- 274, 803, 273, 455, 677, 272, 813, 819, 737, 271,
- 276, 332, 260, 820, 411, 824, 236, 123, 821, 823,
- 825, 124, 265, 294, 563, 386, 716, 389, 387, 62,
- 131, 42, 246, 242, 677, 455, 728, 565, 298, 299,
- 300, 301, 302, 303, 304, 305, 306, 307, 455, 155,
- 156, 151, 677, 41, 728, 330, 236, 54, 17, 33,
- 34, 35, 36, 39, 40, 37, 38, 23, 24, 32,
- 236, 45, 46, 44, 236, 391, 170, 448, 171, 177,
- 757, 711, 236, 236, 236, 236, 236, 236, 236, 236,
- 236, 236, 236, 236, 236, 236, 236, 91, 92, 93,
- 94, 95, 97, 96, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 356, 186, 43, 296,
- 174, 0, 181, 0, 200, 0, 182, 183, 0, 184,
- 0, 0, 332, 0, 0, 667, 665, 666, 0, 0,
- 0, 332, 332, 0, 0, 65, 0, 0, 0, 0,
- 0, 0, 0, 236, 18, 19, 20, 21, 22, 0,
- 33, 34, 35, 36, 39, 40, 37, 38, 23, 24,
- 32, 26, 45, 46, 44, 633, 0, 0, 0, 0,
- 0, 18, 19, 20, 21, 22, 0, 33, 34, 35,
- 36, 39, 40, 37, 38, 23, 24, 32, 26, 45,
- 46, 44, 0, 65, 0, 0, 0, 0, 0, 0,
- 185, 0, 0, 0, 0, 27, 28, 29, 236, 72,
- 91, 92, 93, 94, 95, 97, 96, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 76,
- 82, 81, 27, 28, 29, 87, 86, 69, 71, 0,
- 0, 0, 90, 70, 0, 0, 73, 67, 80, 89,
- 77, 75, 79, 74, 84, 68, 83, 88, 85, 0,
- 78, 236, 0, 236, 0, 0, 0, 72, 91, 92,
- 93, 94, 95, 97, 96, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 76, 82, 81,
- 0, 236, 0, 87, 86, 69, 71, 0, 0, 0,
- 90, 70, 0, 236, 73, 67, 80, 89, 77, 75,
- 79, 74, 84, 68, 83, 88, 85, 0, 78, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 65, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 186, 172, 173, 0, 0, 181, 0,
- 200, 0, 182, 183, 0, 184, 0, 0, 0, 0,
- 0, 0, 0, 0, 175, 0, 0, 18, 19, 20,
- 21, 22, 264, 33, 34, 35, 36, 39, 40, 37,
- 38, 23, 24, 32, 26, 45, 46, 44, 0, 268,
- 269, 279, 236, 280, 282, 283, 284, 285, 286, 287,
- 288, 275, 178, 179, 180, 72, 91, 92, 93, 94,
- 95, 97, 96, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 76, 82, 81, 27, 28,
- 29, 87, 86, 69, 71, 65, 185, 0, 90, 70,
- 289, 290, 73, 67, 80, 89, 77, 75, 79, 74,
- 84, 68, 83, 88, 85, 281, 78, 0, 0, 291,
- 0, 0, 0, 0, 0, 0, 0, 0, 617, 0,
- 0, 623, 600, 618, 586, 612, 622, 589, 615, 607,
- 610, 616, 625, 602, 596, 591, 627, 626, 26, 619,
- 624, 598, 0, 588, 594, 606, 597, 621, 628, 595,
- 603, 605, 592, 587, 613, 614, 608, 590, 593, 72,
- 91, 92, 93, 94, 95, 97, 96, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 76,
- 82, 81, 27, 28, 29, 87, 86, 69, 71, 604,
- 609, 611, 90, 70, 620, 601, 73, 67, 80, 89,
- 77, 75, 79, 74, 84, 68, 83, 88, 85, 0,
- 78, 0, 0, 599, 0, 0, 0, 65, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 186,
- 172, 173, 0, 0, 181, 744, 200, 0, 182, 183,
- 0, 184, 0, 0, 0, 0, 0, 0, 0, 0,
- 175, 91, 92, 93, 94, 95, 97, 96, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 26, 0, 0, 0, 0, 268, 269, 279, 0, 280,
- 282, 283, 284, 285, 286, 287, 288, 275, 178, 179,
- 180, 72, 91, 92, 93, 94, 95, 97, 96, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 76, 82, 81, 27, 28, 29, 87, 86, 69,
- 71, 65, 185, 0, 90, 70, 289, 290, 73, 67,
- 80, 89, 77, 75, 79, 74, 84, 68, 83, 88,
- 85, 281, 78, 0, 0, 291, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 186, 0, 0, 0, 726,
- 181, 0, 200, 0, 182, 183, 0, 184, 0, 0,
- 0, 0, 0, 0, 26, 91, 92, 93, 94, 95,
- 97, 96, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, 109, 0, 72, 91, 92, 93, 94,
- 95, 97, 96, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 76, 82, 81, 27, 28,
- 29, 87, 86, 69, 71, 0, 0, 0, 90, 70,
- 0, 0, 73, 67, 80, 89, 77, 75, 79, 74,
- 84, 68, 83, 88, 85, 0, 78, 0, 185, 0,
- 0, 0, 0, 65, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 0, 172, 173, 0, 18,
- 19, 20, 21, 22, 0, 33, 34, 35, 36, 39,
- 40, 37, 38, 23, 24, 32, 175, 45, 46, 44,
- 0, 0, 0, 0, 0, 33, 34, 35, 36, 39,
- 40, 37, 38, 23, 24, 32, 26, 45, 46, 44,
- 186, 0, 0, 0, 0, 181, 0, 200, 0, 182,
- 183, 0, 184, 0, 178, 179, 180, 72, 91, 92,
- 93, 94, 95, 97, 96, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 76, 82, 81,
- 27, 28, 29, 87, 86, 69, 71, 0, 0, 0,
- 90, 70, 0, 0, 73, 67, 80, 89, 77, 75,
- 79, 74, 84, 68, 83, 88, 85, 0, 78, 65,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 0, 172, 173, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 185, 0, 0, 0, 0, 0, 0,
- 0, 0, 175, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 279,
- 0, 280, 282, 283, 284, 285, 286, 287, 288, 275,
- 178, 179, 180, 72, 91, 92, 93, 94, 95, 97,
- 96, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 76, 82, 81, 0, 0, 0, 87,
- 86, 69, 71, 0, 0, 0, 90, 70, 289, 290,
- 73, 67, 80, 89, 77, 75, 79, 74, 84, 68,
- 83, 88, 85, 281, 78, 186, 0, 291, 0, 0,
- 181, 0, 200, 0, 182, 183, 0, 184, 33, 34,
- 35, 36, 39, 40, 37, 38, 23, 24, 32, 26,
- 45, 46, 44, 0, 65, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 0, 172, 173, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 175, 0, 0,
- 0, 0, 0, 27, 28, 29, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 167, 0, 551, 185, 65,
- 0, 0, 0, 0, 0, 178, 179, 180, 72, 91,
- 92, 93, 94, 95, 97, 96, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 109, 76, 82,
- 81, 434, 435, 436, 87, 86, 69, 71, 0, 0,
- 0, 90, 70, 0, 0, 73, 67, 80, 89, 77,
- 75, 79, 74, 84, 68, 83, 88, 85, 186, 78,
- 0, 0, 0, 181, 0, 200, 447, 182, 183, 0,
- 184, 0, 0, 72, 91, 92, 93, 94, 95, 97,
- 96, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 76, 82, 81, 0, 0, 0, 87,
- 86, 69, 71, 0, 0, 0, 738, 70, 0, 0,
- 73, 67, 80, 89, 77, 75, 79, 74, 84, 68,
- 83, 88, 85, 0, 78, 0, 0, 0, 0, 65,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 0, 172, 173, 0, 0, 0, 0, 0, 0,
- 0, 185, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 175, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 186, 0, 0, 0, 0, 181,
- 0, 200, 0, 182, 183, 0, 184, 0, 0, 0,
- 178, 179, 180, 72, 91, 92, 93, 94, 95, 97,
- 96, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 76, 82, 81, 0, 0, 0, 87,
- 86, 69, 71, 0, 0, 0, 90, 70, 0, 0,
- 73, 67, 80, 89, 77, 75, 79, 74, 84, 68,
- 83, 88, 85, 0, 78, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 167, 0, 0, 185, 0, 0,
- 0, 0, 65, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 0, 172, 173, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 186, 0, 175, 0, 0, 181, 0,
- 200, 0, 182, 183, 0, 184, 0, 0, 0, 31,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 250, 0, 0, 0, 0,
- 0, 0, 0, 178, 179, 180, 72, 91, 92, 93,
- 94, 95, 97, 96, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 76, 82, 81, 0,
- 0, 0, 87, 86, 69, 71, 0, 0, 0, 90,
- 70, 0, 0, 73, 67, 80, 89, 77, 75, 79,
- 74, 84, 68, 83, 88, 85, 185, 78, 65, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 0, 172, 173, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 186,
- 0, 175, 0, 0, 181, 0, 321, 0, 182, 183,
- 0, 184, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 178,
- 179, 180, 72, 91, 92, 93, 94, 95, 97, 96,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 76, 82, 81, 0, 0, 0, 87, 86,
- 69, 71, 0, 0, 0, 90, 70, 0, 0, 73,
- 67, 80, 89, 77, 75, 79, 74, 84, 68, 83,
- 88, 85, 185, 78, 0, 0, 0, 65, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 0,
- 172, 173, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 186, 0,
- 175, 0, 0, 181, 0, 317, 0, 182, 183, 0,
- 184, 0, 0, 0, 0, 0, 33, 34, 35, 36,
- 39, 40, 37, 38, 23, 24, 32, 26, 45, 46,
- 44, 0, 0, 0, 0, 0, 0, 0, 178, 179,
- 180, 72, 91, 92, 93, 94, 95, 97, 96, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 76, 82, 81, 0, 0, 0, 87, 86, 69,
- 71, 27, 28, 29, 90, 70, 0, 0, 73, 67,
- 80, 89, 77, 75, 79, 74, 84, 68, 83, 88,
- 85, 185, 78, 65, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 0, 172, 173, 0, 133,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 118, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 178, 179, 180, 72, 91, 92,
- 93, 94, 95, 97, 96, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 76, 82, 81,
- 0, 0, 0, 87, 86, 69, 71, 0, 0, 0,
- 90, 70, 0, 0, 73, 67, 80, 89, 77, 75,
- 79, 74, 84, 68, 83, 88, 85, 0, 78, 64,
- 0, 0, 65, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 0, 172, 173, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 175, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 65, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 178, 179, 180, 72, 91, 92, 93,
- 94, 95, 97, 96, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 76, 82, 81, 0,
- 0, 0, 87, 86, 69, 71, 65, 26, 0, 90,
- 70, 0, 0, 73, 67, 80, 89, 77, 75, 79,
- 74, 84, 68, 83, 88, 85, 0, 78, 72, 91,
- 92, 93, 94, 95, 97, 96, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 109, 76, 82,
- 81, 27, 28, 29, 87, 86, 69, 71, 65, 26,
- 0, 90, 70, 0, 0, 73, 67, 80, 89, 77,
- 75, 79, 74, 84, 68, 83, 88, 85, 0, 78,
- 72, 91, 92, 93, 94, 95, 97, 96, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 76, 82, 81, 27, 28, 29, 87, 86, 69, 71,
- 0, 532, 0, 90, 70, 0, 65, 73, 67, 80,
- 89, 77, 75, 79, 74, 84, 68, 83, 88, 85,
- 0, 78, 72, 91, 92, 93, 94, 95, 97, 96,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 76, 82, 81, 222, 0, 0, 87, 86,
- 69, 71, 0, 0, 0, 90, 70, 0, 65, 73,
- 67, 80, 89, 77, 75, 79, 74, 84, 68, 83,
- 88, 85, 0, 78, 0, 0, 0, 0, 0, 0,
- 72, 91, 92, 93, 94, 95, 97, 96, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 76, 82, 81, 0, 0, 0, 87, 86, 69, 71,
- 0, 0, 0, 90, 70, 0, 0, 73, 67, 80,
- 89, 77, 75, 79, 74, 84, 68, 83, 88, 85,
- 0, 78, 72, 91, 92, 93, 94, 95, 97, 96,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 76, 82, 81, 0, 0, 0, 87, 86,
- 69, 71, 0, 0, 0, 90, 70, 0, 0, 73,
- 67, 80, 89, 77, 75, 79, 74, 84, 68, 83,
- 88, 85, 14, 78, 567, 31, 0, 0, 0, 0,
- 0, 0, 57, 0, 0, 0, 0, 0, 0, 0,
- 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 116, 0, 18, 19, 20, 21,
- 22, 264, 33, 34, 35, 36, 39, 40, 37, 38,
- 23, 24, 32, 26, 45, 46, 44, 0, 0, 224,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
- 0, 0, 0, 0, 91, 92, 93, 94, 95, 97,
- 96, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 0, 0, 0, 0, 27, 28, 29,
- 0, 227, 0, 0, 0, 0, 0, 0, 0, 0,
- 228, 223, 0, 57, 0, 0, 0, 147, 0, 0,
- 0, 116, 0, 225, 394, 226, 0, 0, 0, 0,
- 57, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 116, 116, 0, 0, 147, 0, 116, 253, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 18, 19, 20, 21, 22, 264, 33, 34,
- 35, 36, 39, 40, 37, 38, 23, 24, 32, 26,
- 45, 46, 44, 240, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 27, 28, 29, 0, 0, 0, 0,
- 0, 0, 116, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 147, 0, 18, 19, 20, 21,
- 22, 0, 33, 34, 35, 36, 39, 40, 37, 38,
- 23, 24, 32, 26, 45, 46, 44, 18, 19, 20,
- 21, 22, 0, 33, 34, 35, 36, 39, 40, 37,
- 38, 23, 24, 32, 26, 45, 46, 44, 33, 34,
- 35, 36, 39, 40, 37, 38, 23, 24, 32, 26,
- 45, 46, 44, 0, 0, 0, 0, 27, 28, 29,
- 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
- 0, 0, 0, 331, 331, 0, 0, 0, 27, 28,
- 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 27, 28, 29, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 33, 34, 35,
- 36, 39, 40, 37, 38, 23, 24, 32, 26, 45,
- 46, 44, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 57, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 27, 28, 29 };
- int yypact[]={
-
- 3103, -1000, 3103, -1000, -1000, -1000, -1000, -1000, 345, 3103,
- -95, -1000, -1000, -1000, -1000, 2709, -152, 1336, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 58, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 2547, 1224, -1000, -1000, -1000, 3124, -1000,
- 329, 210, -1000, 2599, 317, -1000, -1000, -1000, 209, -1000,
- -287, -1000, 215, -1000, 562, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -152, -1000, -1000, -1000, 58, -1000, -1000, 110, 1579, -1000,
- -1000, 108, -1000, 97, 3124, -1000, 345, 3103, -1000, 562,
- 2111, 214, -1000, 562, -1000, 562, 2111, -1000, -301, -36,
- 107, 106, 105, 2240, -1000, 594, -1000, -1000, 1579, 3208,
- -1000, 470, 2247, -1000, -209, 560, -1000, 1224, 102, -1000,
- 884, -1000, 210, 209, -1000, -1000, -1000, 2111, -1000, 558,
- 67, 518, 2495, 2495, 2240, 2366, -159, -1000, 471, 468,
- 467, -1000, -1000, -1000, -1000, -1000, -1000, 60, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 1356, 138, 631, -155, 69, -123, 500, 514, -1000, 2240,
- -1000, 593, -1000, -1000, 3, 100, 101, -73, -1000, -1000,
- -1000, -1000, 3, -1000, 68, 2761, 2761, -1000, -1000, 628,
- 109, 109, 109, 152, -1000, -1000, -1000, 688, -1000, 3139,
- -1000, -1000, 297, -1000, 465, 2240, 296, -1000, -1000, 461,
- 2240, -209, -1000, -1000, 157, -1000, 205, 1224, 87, 884,
- 1120, -1000, -1000, -1000, -197, -1000, -1000, 459, 2240, 456,
- 97, -1000, -1000, -1000, -1000, 626, -1000, -152, 309, 625,
- 623, 2240, 622, 1120, 620, 1224, 308, 295, 1637, 1637,
- 283, 279, 526, -1000, 143, -1000, 2240, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2240, 2240,
- 2240, 1985, 1224, 1224, -1000, -1000, -1000, 2240, -1000, -1000,
- -1000, 1356, 2240, 153, 219, 219, 2240, 557, 592, 562,
- 1579, 1579, -1000, -1000, 2240, 2240, 2240, 2240, 2240, 2240,
- 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 149,
- 688, -1000, 10, 2883, -1000, -1000, -294, -1000, -1000, -1000,
- -1000, 85, 3, 99, -323, -146, -247, -1000, 455, 446,
- 409, -327, 166, -335, 97, 97, -105, 82, 559, -1000,
- -1000, -1000, 81, -1000, 591, -1000, 522, -1000, -1000, 515,
- -1000, 562, -1000, 3124, -1000, -1000, 470, -1000, -1000, -1000,
- 466, -1000, -1000, -1000, 1224, 2240, 124, -1000, 78, -1000,
- -1000, -1000, 562, -1000, 2651, 2761, 1120, 404, 1120, -1000,
- 2240, -1000, 2240, 2240, 8, 2240, -231, 2240, 252, -1000,
- -1000, -1000, 251, -1000, 2240, 2240, 2240, 250, -1000, -1000,
- 2240, -1000, 1832, -1000, -159, 229, 203, -1000, 556, -1000,
- -1000, -1000, 590, 60, 618, -1000, 616, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -245, 615, 138, -1000,
- 2240, -1000, -1000, 212, -1000, -1000, 631, -155, 69, 69,
- -123, -123, -123, -123, 500, 500, 514, 514, -1000, -1000,
- -1000, -1000, 588, -1000, 3019, -1000, -1000, -253, 3, -247,
- -1000, 153, 219, 219, 96, -113, 95, -1000, -1000, 555,
- 988, -1000, 109, -1000, 77, 988, -1000, 2761, 661, -1000,
- -1000, 746, -1000, 2240, -1000, 2240, -1000, -1000, -1000, -1000,
- 290, -1000, -1000, -1000, -1000, 1120, -1000, 550, 545, 544,
- 93, 543, 609, 226, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 2240, -1000, -1000, 2240, -1000, 2240, 2240,
- 586, 2240, -1000, 211, 562, 2240, -1000, -1000, -1000, -254,
- 565, -1000, 165, -225, -1000, 602, 601, 600, 153, 148,
- -119, 220, 2761, 599, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 529,
- -189, -1000, -1000, -1000, -1000, 562, -1000, -1000, -1000, -1000,
- 224, 2240, 1120, 1120, 153, 1120, 2240, 2240, -1000, -1000,
- 585, 505, -269, 494, 2240, -1000, 584, 3124, 147, 75,
- 565, -1000, 59, 232, -1000, 598, 153, 162, 565, 565,
- 3, 2761, 2761, 2761, 1203, -1000, 2882, 397, -1000, -169,
- -1000, 387, -1000, -1000, 582, 1702, -1000, -1000, -1000, 581,
- -226, -1000, 1079, -1000, 1482, -1000, 538, 221, -1000, 2240,
- -1000, -1000, 2240, 144, 3124, -1000, 580, -1000, -1000, 59,
- -1000, 565, 565, -1000, -266, 2761, 597, 565, 180, 34,
- -1000, 579, 537, 486, 71, -1000, 372, -1000, 343, -1000,
- 341, -1000, 3, 220, 577, 202, -1000, -1000, 2761, 988,
- 217, 1120, 66, -1000, 319, -1000, -1000, 216, 2240, 576,
- 359, -1000, 575, -1000, -1000, 232, 232, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, 574, 565, 31, -1000,
- 187, -1000, -1000, 2240, 2240, -1000, 3, -1000, 3, -1000,
- -1000, -1000, 2761, 1702, -134, 596, -1000, -1000, -1000, 1482,
- -1000, 572, -1000, 2240, -1000, -1000, 527, -166, -1000, 565,
- 571, 498, -1000, 57, 142, -1000, 2761, 1702, -1000, 1120,
- 570, -1000, 565, 59, -1000, -1000, 2240, -1000, -1000, -1000,
- 567, -1000, -1000, -166, -1000, 566, -1000, -1000 };
- int yypgo[]={
-
- 0, 920, 919, 918, 4, 0, 11, 35, 916, 881,
- 880, 94, 53, 3142, 879, 878, 877, 547, 34, 128,
- 137, 136, 172, 84, 91, 95, 90, 105, 876, 26,
- 3, 42, 9, 43, 24, 214, 12, 875, 69, 858,
- 29, 39, 857, 178, 183, 855, 610, 853, 167, 208,
- 851, 175, 849, 833, 56, 832, 40, 831, 176, 38,
- 61, 41, 830, 829, 65, 59, 166, 828, 20, 827,
- 27, 825, 80, 88, 62, 824, 36, 823, 8, 822,
- 60, 821, 817, 812, 809, 805, 802, 800, 78, 796,
- 199, 77, 37, 31, 159, 795, 179, 22, 174, 794,
- 790, 10, 785, 120, 782, 781, 780, 17, 14, 779,
- 21, 776, 2, 775, 33, 773, 18, 772, 771, 25,
- 6, 19, 770, 23, 28, 769, 768, 767, 765, 764,
- 762, 761, 756, 754, 752, 749, 745, 685, 743, 741,
- 737, 736, 733, 727, 719, 718, 715, 274, 5, 713,
- 709, 708, 7, 700, 694, 690, 671, 1 };
- int yyr1[]={
-
- 0, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 16, 16, 17, 17, 17,
- 17, 17, 17, 1, 1, 1, 1, 1, 1, 18,
- 18, 19, 19, 19, 19, 20, 20, 20, 21, 21,
- 21, 22, 22, 22, 22, 22, 23, 23, 23, 24,
- 24, 25, 25, 26, 26, 27, 27, 28, 28, 29,
- 29, 30, 30, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 31, 31, 32, 32, 33, 34,
- 34, 35, 35, 35, 36, 36, 37, 37, 38, 38,
- 38, 39, 39, 39, 39, 40, 40, 40, 40, 41,
- 41, 42, 42, 43, 43, 44, 44, 12, 12, 12,
- 12, 12, 45, 45, 46, 46, 46, 46, 46, 46,
- 46, 46, 46, 46, 46, 47, 47, 47, 3, 3,
- 48, 48, 49, 49, 50, 50, 51, 51, 51, 52,
- 52, 52, 53, 53, 54, 54, 126, 54, 55, 55,
- 56, 56, 127, 56, 128, 57, 129, 57, 57, 58,
- 58, 59, 59, 13, 13, 60, 61, 62, 62, 62,
- 130, 62, 63, 63, 63, 131, 63, 88, 88, 64,
- 64, 64, 64, 65, 65, 66, 66, 67, 67, 68,
- 68, 69, 69, 70, 70, 70, 71, 71, 72, 72,
- 72, 72, 73, 73, 74, 74, 75, 75, 75, 132,
- 75, 133, 75, 76, 76, 76, 77, 77, 78, 78,
- 134, 112, 112, 112, 112, 112, 112, 112, 79, 79,
- 79, 80, 80, 81, 81, 82, 82, 91, 91, 92,
- 92, 135, 135, 135, 135, 83, 83, 90, 90, 84,
- 85, 85, 85, 85, 111, 111, 110, 109, 109, 86,
- 86, 86, 87, 87, 87, 87, 87, 87, 87, 125,
- 125, 136, 136, 137, 137, 137, 140, 138, 89, 89,
- 89, 11, 11, 103, 103, 4, 4, 4, 4, 141,
- 139, 143, 143, 143, 142, 142, 144, 149, 150, 144,
- 146, 8, 8, 8, 8, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 147, 147, 147, 124,
- 124, 123, 123, 148, 148, 148, 151, 151, 152, 152,
- 152, 145, 145, 95, 95, 96, 96, 97, 97, 97,
- 97, 153, 154, 97, 102, 102, 102, 102, 105, 105,
- 107, 106, 106, 108, 108, 115, 115, 116, 104, 104,
- 113, 113, 114, 114, 114, 114, 114, 155, 99, 156,
- 99, 100, 100, 157, 157, 101, 101, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 94, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 98, 98,
- 98, 98, 117, 117, 117, 118, 118, 119, 120, 120,
- 120, 121, 121, 121, 121, 121, 121, 9, 122, 122,
- 10, 10, 10, 10, 10, 10, 10, 10 };
- int yyr2[]={
-
- 0, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 7, 2, 9, 7, 9, 7, 7,
- 5, 5, 13, 17, 21, 2, 7, 2, 5, 5,
- 5, 5, 9, 2, 2, 2, 2, 2, 2, 2,
- 9, 2, 7, 7, 7, 2, 7, 7, 2, 7,
- 7, 2, 7, 7, 7, 7, 2, 7, 7, 2,
- 7, 2, 7, 2, 7, 2, 7, 2, 7, 2,
- 11, 2, 7, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 7, 1, 2, 2, 1,
- 2, 5, 7, 7, 2, 5, 2, 2, 3, 5,
- 2, 2, 5, 5, 5, 2, 2, 5, 5, 2,
- 7, 2, 7, 3, 7, 3, 7, 3, 3, 3,
- 3, 3, 2, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 2, 2, 11, 9, 5, 2, 2,
- 2, 5, 7, 7, 2, 5, 3, 5, 2, 2,
- 5, 5, 2, 7, 3, 5, 1, 9, 2, 7,
- 3, 5, 1, 9, 1, 11, 1, 13, 5, 2,
- 7, 3, 7, 3, 3, 5, 5, 2, 7, 9,
- 1, 11, 3, 7, 9, 1, 11, 2, 2, 3,
- 5, 5, 7, 1, 2, 2, 5, 2, 7, 1,
- 2, 2, 7, 5, 2, 5, 3, 7, 2, 2,
- 5, 5, 2, 5, 2, 5, 7, 7, 9, 1,
- 9, 1, 11, 2, 7, 9, 2, 7, 2, 2,
- 1, 5, 2, 2, 2, 2, 11, 15, 7, 9,
- 7, 7, 9, 2, 5, 1, 2, 2, 5, 2,
- 9, 3, 5, 5, 5, 2, 5, 1, 2, 5,
- 11, 15, 11, 15, 3, 5, 5, 1, 7, 11,
- 15, 19, 7, 5, 5, 7, 7, 5, 5, 0,
- 2, 2, 4, 2, 3, 2, 1, 9, 3, 5,
- 5, 3, 3, 3, 3, 2, 2, 2, 2, 1,
- 6, 9, 7, 9, 1, 3, 17, 1, 1, 23,
- 11, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 5, 9, 3,
- 3, 1, 3, 0, 2, 9, 2, 7, 3, 5,
- 9, 1, 9, 1, 2, 2, 5, 2, 2, 2,
- 7, 1, 1, 13, 9, 13, 15, 19, 3, 5,
- 5, 1, 7, 5, 7, 2, 5, 7, 2, 5,
- 2, 7, 13, 13, 17, 17, 21, 1, 7, 1,
- 7, 11, 15, 0, 3, 3, 9, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 9, 9, 3, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 5,
- 5, 5, 9, 7, 3, 2, 5, 15, 2, 7,
- 7, 3, 9, 11, 9, 7, 7, 2, 2, 7,
- 2, 2, 2, 2, 2, 2, 2, 2 };
- int yychk[]={
-
- -1000, -125, -136, -137, -138, -35, -139, -89, -36, -40,
- -141, -61, -38, -12, -13, -65, -4, -39, 293, 294,
- 295, 296, 297, 307, 308, -64, 310, 354, 355, 356,
- -46, 42, 309, 299, 300, 301, 302, 305, 306, 303,
- 304, -47, -57, -3, 313, 311, 312, -137, -140, 59,
- -41, -60, -43, -65, -42, -38, -12, -13, -61, -44,
- -142, 258, -63, -5, 40, 257, -7, 369, 377, 359,
- 365, 360, 331, 368, 375, 373, 351, 372, 382, 374,
- 370, 353, 352, 378, 376, 380, 358, 357, 379, 371,
- 364, 332, 333, 334, 335, 336, 338, 337, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- -40, -46, -12, -13, -66, -64, -13, -11, 123, -5,
- -4, -128, -11, -82, -81, -35, -36, -40, 59, 44,
- 61, -62, -11, 40, 59, 44, 61, -143, -144, -146,
- 361, 363, 362, 91, 40, -61, -64, -13, 123, -48,
- -49, -50, -66, -51, -4, -52, -46, 123, -129, -80,
- 123, -35, -60, -61, -43, -76, -30, 123, -29, -17,
- -28, -15, 270, 271, -1, 290, -27, -14, 328, 329,
- 330, 38, 42, 43, 45, 126, 33, -26, -5, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 40, -25, -24, -23, -22, -21, -20, -19, -18, 91,
- 40, -60, -44, -76, -145, 365, -96, 384, -97, -102,
- -99, -100, 123, 369, 317, 381, 383, 359, 368, 327,
- 123, 123, 123, -34, -33, -29, -17, -131, 41, -48,
- 125, -49, -53, -54, -60, 58, -55, -51, -56, -61,
- 58, -66, -46, -13, -58, -59, -11, 123, -90, -91,
- -83, -92, -78, -35, 298, -79, -112, -103, 315, 316,
- -134, -84, -85, -86, -87, 327, -5, -4, -32, 317,
- 319, 381, 320, 321, 322, 323, 324, 325, 326, 366,
- 367, 385, -31, -30, -77, -76, -2, 61, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 279, 63,
- 91, 40, 46, 269, 270, 271, -17, 40, -17, -18,
- -17, 40, 278, 58, 58, 58, 124, -31, -73, -72,
- -45, -13, -46, -4, 94, 38, 276, 277, 60, 62,
- 274, 275, 272, 273, 43, 45, 42, 47, 37, -34,
- -130, 41, -96, 123, 360, -97, -8, 258, 263, 261,
- 265, -95, -96, -153, -104, -113, 33, -114, 328, 329,
- 330, -101, -5, -5, -155, -156, 40, -147, -124, 265,
- 42, -147, -147, 93, -88, -68, -71, -67, -5, -69,
- -70, -37, -36, -40, 125, 59, 44, 58, -33, 59,
- 44, 58, -33, 125, 44, 61, -58, 125, -90, -92,
- -78, -4, -135, 299, 311, 312, 58, -33, 58, -80,
- 40, 59, 40, 40, -31, 40, -78, 40, -103, -5,
- 59, 59, -98, -32, 354, 355, 356, -98, 59, 59,
- 44, 125, 44, -30, -27, -31, -31, 41, -16, -30,
- -11, -11, -73, -26, -94, -7, -93, 335, 336, 338,
- 334, 354, 355, 356, 357, 358, 40, -93, -25, 41,
- 41, -74, -64, -65, -72, -72, -24, -23, -22, -22,
- -21, -21, -21, -21, -20, -20, -19, -19, -18, -18,
- -18, 93, -88, 360, -91, 360, 125, 123, 380, 278,
- -114, 58, 58, 58, 382, 91, 382, -80, -80, 265,
- 125, -123, 44, 43, -149, 125, 41, 44, 44, -61,
- -74, -65, -54, -126, -56, -127, -59, -33, 125, 125,
- -41, -5, 310, -5, -78, 58, -78, -30, -31, -31,
- 382, -31, 320, -32, 59, 59, -30, -30, -30, 59,
- -30, 125, -76, 58, 93, 41, 44, 41, 40, 40,
- 331, 40, -18, -75, 40, 91, 41, 125, -117, -118,
- 326, -119, 370, -97, -114, -94, -93, -93, 123, 265,
- 123, 41, 44, -6, -5, -4, 296, 325, 315, 299,
- 329, 307, 324, 330, 316, 321, 306, 318, 313, 385,
- 294, 367, 305, 322, 361, 323, 317, 301, 328, 362,
- 302, 363, 297, 326, 327, 300, 303, 290, 295, 311,
- 366, 319, 298, 293, 312, 304, 309, 308, 320, -124,
- 125, -6, -5, 314, -70, 40, -33, -33, 59, -78,
- 41, 44, 41, 41, 123, 41, 40, 59, -29, -30,
- -30, -30, 41, -30, 91, 40, -74, -132, -34, -154,
- 326, -119, -120, -121, -94, 371, 372, 370, 40, 91,
- 318, 40, 40, 40, -105, -107, -108, -94, 93, -115,
- -116, 265, -157, 59, -101, 40, -123, 292, 59, -30,
- -78, -78, -111, -110, -108, -78, -31, -32, 41, 44,
- 336, 354, 44, -34, -133, 41, -68, 93, 125, -120,
- -157, -9, 291, 270, 46, 40, -94, 91, -120, -120,
- -97, -101, -101, -101, -106, -107, 316, -97, -94, 58,
- 316, -116, 58, 41, -148, -151, -152, -5, 364, -150,
- 41, 318, -109, -110, 316, -112, -7, 41, 59, -30,
- -30, 93, -68, 41, -157, -121, -121, -10, 373, 374,
- 375, 376, 316, 377, 378, 379, -101, 40, -120, 41,
- 93, 41, 41, 44, 44, 125, 58, 58, 58, -97,
- -157, 41, 91, 44, -5, -6, 59, -78, 125, 58,
- 59, -32, 41, 44, 41, 41, -122, -120, 93, 61,
- -30, -30, -97, -97, -5, -152, 269, 40, -112, 41,
- -30, 41, 44, -120, 41, 41, 44, 125, 93, -5,
- -148, -78, 41, -120, -157, -30, 41, 41 };
- int yydef[]={
-
- -2, -2, -2, 281, 283, 284, 285, 286, 193, 193,
- 304, 288, 94, 105, 106, 0, 98, 100, 117, 118,
- 119, 120, 121, 173, 174, 194, 295, 296, 297, 298,
- 101, 189, 124, 125, 126, 127, 128, 129, 130, 131,
- 132, 133, 134, 0, 164, 138, 139, 282, 245, 91,
- 0, -2, 109, 0, 0, 95, 107, 108, -2, 111,
- 0, 305, 176, 182, 193, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
- 340, 459, 460, 461, 462, 463, 464, 465, 466, 467,
- 468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
- 99, 102, 103, 104, 190, 191, 195, 137, 0, 291,
- 292, 0, -2, 0, 246, 243, 193, 193, 92, 193,
- 0, 175, 177, 193, 93, 193, 0, 300, 401, 0,
- 0, 0, 0, 89, 185, 0, 192, 196, 0, 0,
- 140, 193, 193, 144, 146, 148, 149, 0, 0, 287,
- -2, 244, 113, 115, 110, 114, 223, 0, 71, 39,
- 69, 27, 0, 0, 0, 0, 67, 14, 0, 0,
- 0, 33, 34, 35, 36, 37, 38, 65, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 0, 63, 61, 59, 56, 51, 48, 45, 41, 89,
- 180, 0, 112, 116, 0, 0, 0, 0, 405, 407,
- 408, 409, 403, 411, 0, 0, 0, 437, 439, 0,
- 386, 386, 386, 0, 90, 88, 39, 199, 183, 0,
- 136, 141, 0, 152, 154, 0, 0, 145, 158, 160,
- 0, 147, 150, 151, 0, 169, 171, 0, 0, -2,
- -2, 247, 255, 249, 0, 228, 229, 0, 0, 0,
- 0, 232, 233, 234, 235, 0, -2, -2, 0, 0,
- 0, 0, 0, -2, 0, 0, 0, 0, 86, 86,
- 0, 0, 87, 84, 0, 226, 0, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 0, 0,
- 0, 0, 0, 0, 20, 21, 28, 0, 29, 30,
- 31, 0, 0, 0, 0, 0, 0, 0, 0, -2,
- 208, 209, 122, 123, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 199, 178, 0, 0, 302, 406, 0, 311, 312, 313,
- 314, 0, 404, 0, 0, 428, 0, 430, 0, 0,
- 0, 0, 445, 0, 0, 0, 0, 0, 391, 389,
- 390, 307, 0, 184, 0, 187, 188, 200, 206, 197,
- 201, -2, 96, 97, 135, 142, 193, 156, 155, 143,
- 193, 162, 161, 165, 0, 0, 0, 241, 0, 248,
- 256, 294, 193, 251, 0, 0, -2, 0, -2, 231,
- 0, 259, 0, 0, 0, 0, 0, 86, 0, 293,
- 273, 274, 0, 478, 0, 0, 0, 0, 277, 278,
- 0, 224, 0, 72, 68, 0, 0, 16, 0, 25,
- 18, 19, 0, 66, 0, 458, 0, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 0, 0, 64, 13,
- 0, 213, -2, 0, 210, 211, 62, 60, 57, 58,
- 52, 53, 54, 55, 49, 50, 46, 47, 42, 43,
- 44, 179, 0, 301, 0, 303, 410, 0, 0, 0,
- 429, 0, 0, 0, 0, 0, 0, 438, 440, 0,
- 0, 387, 0, 392, 0, 0, 186, 0, 0, 203,
- 205, 0, 153, 0, 159, 0, 170, 172, 167, 242,
- 0, 252, 253, 254, 238, -2, 240, 0, 0, 0,
- 0, 0, 0, 0, 272, 275, 479, 480, 481, 276,
- 85, 225, 227, 0, 15, 17, 0, 32, 0, 0,
- 0, 0, 40, 215, -2, 89, 181, 402, 412, 484,
- 0, 485, 0, 414, 431, 0, 0, 0, 0, 0,
- 0, 443, 0, 0, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, 383, 384, 385, 391,
- 0, 310, 207, 198, 202, -2, 157, 163, 250, 239,
- 0, 0, -2, -2, 0, -2, 0, 86, 70, 26,
- 0, 0, 0, 0, 89, 221, 0, 199, 0, 0,
- 0, 486, 443, 488, 491, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 421, 418, 0, 0, 446, 0,
- 425, 0, 441, 444, 0, 393, 388, 308, 236, 0,
- 260, 262, 267, 264, -2, 269, 0, 0, 22, 0,
- 456, 457, 0, 0, 199, 216, 0, 217, 413, 443,
- 483, 0, 0, 497, 0, 0, 0, 0, 0, 0,
- 415, 0, 0, 0, 0, 419, 0, 420, 0, 423,
- 0, 426, 0, 443, 0, 394, 396, 398, 340, 0,
- 0, -2, 0, 265, 0, 266, -2, 0, 86, 0,
- 0, 218, 0, 220, 482, 489, 490, 495, 500, 501,
- 502, 503, 504, 505, 506, 507, 0, 0, 0, 496,
- 0, 432, 433, 0, 0, 416, 0, 424, 0, 427,
- 442, 306, 0, 0, 399, 0, 237, 261, 263, -2,
- 270, 0, 23, 0, 222, 492, 0, 498, 494, 0,
- 0, 0, 422, 0, 0, 397, 0, 393, 268, -2,
- 0, 493, 0, 443, 434, 435, 0, 417, 395, 400,
- 0, 271, 24, 499, 487, 0, 309, 436 };
- typedef struct { char *t_name; int t_val; } yytoktype;
- #ifndef YYDEBUG
- # define YYDEBUG 0 /* don't allow debugging */
- #endif
-
- #if YYDEBUG
-
- yytoktype yytoks[] =
- {
- "Identifier", 257,
- "StrLit", 258,
- "LStrLit", 259,
- "FltConst", 260,
- "DblConst", 261,
- "LDblConst", 262,
- "CharConst", 263,
- "LCharConst", 264,
- "IntConst", 265,
- "UIntConst", 266,
- "LIntConst", 267,
- "ULIntConst", 268,
- "Arrow", 269,
- "Incr", 270,
- "Decr", 271,
- "LShft", 272,
- "RShft", 273,
- "Leq", 274,
- "Geq", 275,
- "Equal", 276,
- "Neq", 277,
- "And", 278,
- "Or", 279,
- "MultAsgn", 280,
- "DivAsgn", 281,
- "ModAsgn", 282,
- "PlusAsgn", 283,
- "MinusAsgn", 284,
- "LShftAsgn", 285,
- "RShftAsgn", 286,
- "AndAsgn", 287,
- "XorAsgn", 288,
- "OrAsgn", 289,
- "Sizeof", 290,
- "Intersect", 291,
- "OpSym", 292,
- "Typedef", 293,
- "Extern", 294,
- "Static", 295,
- "Auto", 296,
- "Register", 297,
- "Tended", 298,
- "Char", 299,
- "Short", 300,
- "Int", 301,
- "Long", 302,
- "Signed", 303,
- "Unsigned", 304,
- "Float", 305,
- "Doubl", 306,
- "Const", 307,
- "Volatile", 308,
- "Void", 309,
- "TypeDefName", 310,
- "Struct", 311,
- "Union", 312,
- "Enum", 313,
- "Elipsis", 314,
- "Case", 315,
- "Default", 316,
- "If", 317,
- "Else", 318,
- "Switch", 319,
- "While", 320,
- "Do", 321,
- "For", 322,
- "Goto", 323,
- "Continue", 324,
- "Break", 325,
- "Return", 326,
- "%", 37,
- "&", 38,
- "(", 40,
- ")", 41,
- "*", 42,
- "+", 43,
- ",", 44,
- "-", 45,
- ".", 46,
- "/", 47,
- "{", 123,
- "|", 124,
- "}", 125,
- "~", 126,
- "[", 91,
- "]", 93,
- "^", 94,
- ":", 58,
- ";", 59,
- "<", 60,
- "=", 61,
- ">", 62,
- "?", 63,
- "!", 33,
- "@", 64,
- "\\", 92,
- "Runerr", 327,
- "Is", 328,
- "Cnv", 329,
- "Def", 330,
- "Exact", 331,
- "Empty_type", 332,
- "Null", 333,
- "String", 334,
- "Cset", 335,
- "Integer", 336,
- "File", 337,
- "Real", 338,
- "List", 339,
- "Set", 340,
- "Table", 341,
- "Record", 342,
- "Procedure", 343,
- "Co_expression", 344,
- "Variable", 345,
- "Tvsubs", 346,
- "Tvtbl", 347,
- "Kywdint", 348,
- "Kywdpos", 349,
- "Kywdsubj", 350,
- "Named_var", 351,
- "Struct_var", 352,
- "Substr", 353,
- "C_Integer", 354,
- "C_Double", 355,
- "C_String", 356,
- "Tmp_string", 357,
- "Tmp_cset", 358,
- "Body", 359,
- "End", 360,
- "Function", 361,
- "Keyword", 362,
- "Operator", 363,
- "Underef", 364,
- "Declare", 365,
- "Suspend", 366,
- "Fail", 367,
- "Inline", 368,
- "Abstract", 369,
- "Store", 370,
- "Type", 371,
- "New", 372,
- "Lst_elem", 373,
- "Set_elem", 374,
- "Key", 375,
- "Tbl_elem", 376,
- "All_fields", 377,
- "Str_var", 378,
- "Trpd_tbl", 379,
- "Then", 380,
- "Type_case", 381,
- "Of", 382,
- "Len_case", 383,
- "Constant", 384,
- "Errorfail", 385,
- "IfStmt", 386,
- "-unknown-", -1 /* ends search */
- };
-
- char * yyreds[] =
- {
- "-no such reduction-",
- "primary_expr : identifier",
- "primary_expr : StrLit",
- "primary_expr : LStrLit",
- "primary_expr : FltConst",
- "primary_expr : DblConst",
- "primary_expr : LDblConst",
- "primary_expr : CharConst",
- "primary_expr : LCharConst",
- "primary_expr : IntConst",
- "primary_expr : UIntConst",
- "primary_expr : LIntConst",
- "primary_expr : ULIntConst",
- "primary_expr : '(' expr ')'",
- "postfix_expr : primary_expr",
- "postfix_expr : postfix_expr '[' expr ']'",
- "postfix_expr : postfix_expr '(' ')'",
- "postfix_expr : postfix_expr '(' arg_expr_lst ')'",
- "postfix_expr : postfix_expr '.' any_ident",
- "postfix_expr : postfix_expr Arrow any_ident",
- "postfix_expr : postfix_expr Incr",
- "postfix_expr : postfix_expr Decr",
- "postfix_expr : Is ':' i_type_name '(' assign_expr ')'",
- "postfix_expr : Cnv ':' dest_type '(' assign_expr ',' assign_expr ')'",
- "postfix_expr : Def ':' dest_type '(' assign_expr ',' assign_expr ',' assign_expr ')'",
- "arg_expr_lst : assign_expr",
- "arg_expr_lst : arg_expr_lst ',' assign_expr",
- "unary_expr : postfix_expr",
- "unary_expr : Incr unary_expr",
- "unary_expr : Decr unary_expr",
- "unary_expr : unary_op cast_expr",
- "unary_expr : Sizeof unary_expr",
- "unary_expr : Sizeof '(' type_name ')'",
- "unary_op : '&'",
- "unary_op : '*'",
- "unary_op : '+'",
- "unary_op : '-'",
- "unary_op : '~'",
- "unary_op : '!'",
- "cast_expr : unary_expr",
- "cast_expr : '(' type_name ')' cast_expr",
- "multiplicative_expr : cast_expr",
- "multiplicative_expr : multiplicative_expr '*' cast_expr",
- "multiplicative_expr : multiplicative_expr '/' cast_expr",
- "multiplicative_expr : multiplicative_expr '%' cast_expr",
- "additive_expr : multiplicative_expr",
- "additive_expr : additive_expr '+' multiplicative_expr",
- "additive_expr : additive_expr '-' multiplicative_expr",
- "shift_expr : additive_expr",
- "shift_expr : shift_expr LShft additive_expr",
- "shift_expr : shift_expr RShft additive_expr",
- "relational_expr : shift_expr",
- "relational_expr : relational_expr '<' shift_expr",
- "relational_expr : relational_expr '>' shift_expr",
- "relational_expr : relational_expr Leq shift_expr",
- "relational_expr : relational_expr Geq shift_expr",
- "equality_expr : relational_expr",
- "equality_expr : equality_expr Equal relational_expr",
- "equality_expr : equality_expr Neq relational_expr",
- "and_expr : equality_expr",
- "and_expr : and_expr '&' equality_expr",
- "exclusive_or_expr : and_expr",
- "exclusive_or_expr : exclusive_or_expr '^' and_expr",
- "inclusive_or_expr : exclusive_or_expr",
- "inclusive_or_expr : inclusive_or_expr '|' exclusive_or_expr",
- "logical_and_expr : inclusive_or_expr",
- "logical_and_expr : logical_and_expr And inclusive_or_expr",
- "logical_or_expr : logical_and_expr",
- "logical_or_expr : logical_or_expr Or logical_and_expr",
- "conditional_expr : logical_or_expr",
- "conditional_expr : logical_or_expr '?' expr ':' conditional_expr",
- "assign_expr : conditional_expr",
- "assign_expr : unary_expr assign_op assign_expr",
- "assign_op : '='",
- "assign_op : MultAsgn",
- "assign_op : DivAsgn",
- "assign_op : ModAsgn",
- "assign_op : PlusAsgn",
- "assign_op : MinusAsgn",
- "assign_op : LShftAsgn",
- "assign_op : RShftAsgn",
- "assign_op : AndAsgn",
- "assign_op : XorAsgn",
- "assign_op : OrAsgn",
- "expr : assign_expr",
- "expr : expr ',' assign_expr",
- "opt_expr : /* empty */",
- "opt_expr : expr",
- "constant_expr : conditional_expr",
- "opt_constant_expr : /* empty */",
- "opt_constant_expr : constant_expr",
- "dcltion : typ_dcltion_specs ';'",
- "dcltion : typ_dcltion_specs init_dcltor_lst ';'",
- "dcltion : storcl_tqual_lst no_tdn_init_dcltor_lst ';'",
- "typ_dcltion_specs : type_ind",
- "typ_dcltion_specs : storcl_tqual_lst type_ind",
- "dcltion_specs : typ_dcltion_specs",
- "dcltion_specs : storcl_tqual_lst",
- "type_ind : typedefname",
- "type_ind : typedefname storcl_tqual_lst",
- "type_ind : type_storcl_tqual_lst",
- "type_storcl_tqual_lst : stnd_type",
- "type_storcl_tqual_lst : type_storcl_tqual_lst stnd_type",
- "type_storcl_tqual_lst : type_storcl_tqual_lst storage_class_spec",
- "type_storcl_tqual_lst : type_storcl_tqual_lst type_qual",
- "storcl_tqual_lst : storage_class_spec",
- "storcl_tqual_lst : type_qual",
- "storcl_tqual_lst : storcl_tqual_lst storage_class_spec",
- "storcl_tqual_lst : storcl_tqual_lst type_qual",
- "init_dcltor_lst : init_dcltor",
- "init_dcltor_lst : init_dcltor_lst ',' init_dcltor",
- "no_tdn_init_dcltor_lst : no_tdn_init_dcltor",
- "no_tdn_init_dcltor_lst : no_tdn_init_dcltor_lst ',' no_tdn_init_dcltor",
- "init_dcltor : dcltor",
- "init_dcltor : dcltor '=' initializer",
- "no_tdn_init_dcltor : no_tdn_dcltor",
- "no_tdn_init_dcltor : no_tdn_dcltor '=' initializer",
- "storage_class_spec : Typedef",
- "storage_class_spec : Extern",
- "storage_class_spec : Static",
- "storage_class_spec : Auto",
- "storage_class_spec : Register",
- "type_spec : stnd_type",
- "type_spec : typedefname",
- "stnd_type : Void",
- "stnd_type : Char",
- "stnd_type : Short",
- "stnd_type : Int",
- "stnd_type : Long",
- "stnd_type : Float",
- "stnd_type : Doubl",
- "stnd_type : Signed",
- "stnd_type : Unsigned",
- "stnd_type : struct_or_union_spec",
- "stnd_type : enum_spec",
- "struct_or_union_spec : struct_or_union any_ident '{' struct_dcltion_lst '}'",
- "struct_or_union_spec : struct_or_union '{' struct_dcltion_lst '}'",
- "struct_or_union_spec : struct_or_union any_ident",
- "struct_or_union : Struct",
- "struct_or_union : Union",
- "struct_dcltion_lst : struct_dcltion",
- "struct_dcltion_lst : struct_dcltion_lst struct_dcltion",
- "struct_dcltion : struct_dcltion_specs struct_dcltor_lst ';'",
- "struct_dcltion : tqual_lst struct_no_tdn_dcltor_lst ';'",
- "struct_dcltion_specs : struct_type_ind",
- "struct_dcltion_specs : tqual_lst struct_type_ind",
- "struct_type_ind : typedefname",
- "struct_type_ind : typedefname tqual_lst",
- "struct_type_ind : struct_type_lst",
- "struct_type_lst : stnd_type",
- "struct_type_lst : struct_type_lst stnd_type",
- "struct_type_lst : struct_type_lst type_qual",
- "struct_dcltor_lst : struct_dcltor",
- "struct_dcltor_lst : struct_dcltor_lst ',' struct_dcltor",
- "struct_dcltor : dcltor",
- "struct_dcltor : ':' constant_expr",
- "struct_dcltor : dcltor ':'",
- "struct_dcltor : dcltor ':' constant_expr",
- "struct_no_tdn_dcltor_lst : struct_no_tdn_dcltor",
- "struct_no_tdn_dcltor_lst : struct_no_tdn_dcltor_lst ',' struct_no_tdn_dcltor",
- "struct_no_tdn_dcltor : no_tdn_dcltor",
- "struct_no_tdn_dcltor : ':' constant_expr",
- "struct_no_tdn_dcltor : no_tdn_dcltor ':'",
- "struct_no_tdn_dcltor : no_tdn_dcltor ':' constant_expr",
- "enum_spec : Enum",
- "enum_spec : Enum '{' enumerator_lst '}'",
- "enum_spec : Enum any_ident",
- "enum_spec : Enum any_ident '{' enumerator_lst '}'",
- "enum_spec : Enum any_ident",
- "enumerator_lst : enumerator",
- "enumerator_lst : enumerator_lst ',' enumerator",
- "enumerator : any_ident",
- "enumerator : any_ident '=' constant_expr",
- "type_qual : Const",
- "type_qual : Volatile",
- "dcltor : opt_pointer direct_dcltor",
- "no_tdn_dcltor : opt_pointer no_tdn_direct_dcltor",
- "direct_dcltor : any_ident",
- "direct_dcltor : '(' dcltor ')'",
- "direct_dcltor : direct_dcltor '[' opt_constant_expr ']'",
- "direct_dcltor : direct_dcltor '('",
- "direct_dcltor : direct_dcltor '(' parm_dcls_or_ids ')'",
- "no_tdn_direct_dcltor : identifier",
- "no_tdn_direct_dcltor : '(' no_tdn_dcltor ')'",
- "no_tdn_direct_dcltor : no_tdn_direct_dcltor '[' opt_constant_expr ']'",
- "no_tdn_direct_dcltor : no_tdn_direct_dcltor '('",
- "no_tdn_direct_dcltor : no_tdn_direct_dcltor '(' parm_dcls_or_ids ')'",
- "parm_dcls_or_ids : opt_param_type_lst",
- "parm_dcls_or_ids : ident_lst",
- "pointer : '*'",
- "pointer : '*' tqual_lst",
- "pointer : '*' pointer",
- "pointer : '*' tqual_lst pointer",
- "opt_pointer : /* empty */",
- "opt_pointer : pointer",
- "tqual_lst : type_qual",
- "tqual_lst : tqual_lst type_qual",
- "param_type_lst : param_lst",
- "param_type_lst : param_lst ',' Elipsis",
- "opt_param_type_lst : /* empty */",
- "opt_param_type_lst : param_type_lst",
- "param_lst : param_dcltion",
- "param_lst : param_lst ',' param_dcltion",
- "param_dcltion : dcltion_specs no_tdn_dcltor",
- "param_dcltion : dcltion_specs",
- "param_dcltion : dcltion_specs abstract_dcltor",
- "ident_lst : identifier",
- "ident_lst : ident_lst ',' identifier",
- "type_tqual_lst : type_spec",
- "type_tqual_lst : type_qual",
- "type_tqual_lst : type_spec type_tqual_lst",
- "type_tqual_lst : type_qual type_tqual_lst",
- "type_name : type_tqual_lst",
- "type_name : type_tqual_lst abstract_dcltor",
- "abstract_dcltor : pointer",
- "abstract_dcltor : opt_pointer direct_abstract_dcltor",
- "direct_abstract_dcltor : '(' abstract_dcltor ')'",
- "direct_abstract_dcltor : '[' opt_constant_expr ']'",
- "direct_abstract_dcltor : direct_abstract_dcltor '[' opt_constant_expr ']'",
- "direct_abstract_dcltor : '('",
- "direct_abstract_dcltor : '(' opt_param_type_lst ')'",
- "direct_abstract_dcltor : direct_abstract_dcltor '('",
- "direct_abstract_dcltor : direct_abstract_dcltor '(' opt_param_type_lst ')'",
- "initializer : assign_expr",
- "initializer : '{' initializer_lst '}'",
- "initializer : '{' initializer_lst ',' '}'",
- "initializer_lst : initializer",
- "initializer_lst : initializer_lst ',' initializer",
- "stmt : labeled_stmt",
- "stmt : non_lbl_stmt",
- "non_lbl_stmt : /* empty */",
- "non_lbl_stmt : compound_stmt",
- "non_lbl_stmt : expr_stmt",
- "non_lbl_stmt : selection_stmt",
- "non_lbl_stmt : iteration_stmt",
- "non_lbl_stmt : jump_stmt",
- "non_lbl_stmt : Runerr '(' assign_expr ')' ';'",
- "non_lbl_stmt : Runerr '(' assign_expr ',' assign_expr ')' ';'",
- "labeled_stmt : label ':' stmt",
- "labeled_stmt : Case constant_expr ':' stmt",
- "labeled_stmt : Default ':' stmt",
- "compound_stmt : '{' opt_stmt_lst '}'",
- "compound_stmt : '{' local_dcls opt_stmt_lst '}'",
- "dcltion_lst : dcltion",
- "dcltion_lst : dcltion_lst dcltion",
- "opt_dcltion_lst : /* empty */",
- "opt_dcltion_lst : dcltion_lst",
- "local_dcls : local_dcl",
- "local_dcls : local_dcls local_dcl",
- "local_dcl : dcltion",
- "local_dcl : Tended tended_type init_dcltor_lst ';'",
- "tended_type : Char",
- "tended_type : Struct identifier",
- "tended_type : Struct TypeDefName",
- "tended_type : Union identifier",
- "stmt_lst : stmt",
- "stmt_lst : stmt_lst stmt",
- "opt_stmt_lst : /* empty */",
- "opt_stmt_lst : stmt_lst",
- "expr_stmt : opt_expr ';'",
- "selection_stmt : If '(' expr ')' stmt",
- "selection_stmt : If '(' expr ')' stmt Else stmt",
- "selection_stmt : Switch '(' expr ')' stmt",
- "selection_stmt : Type_case expr Of '{' c_type_select_lst c_opt_default '}'",
- "c_type_select_lst : c_type_select",
- "c_type_select_lst : c_type_select_lst c_type_select",
- "c_type_select : selector_lst non_lbl_stmt",
- "c_opt_default : /* empty */",
- "c_opt_default : Default ':' non_lbl_stmt",
- "iteration_stmt : While '(' expr ')' stmt",
- "iteration_stmt : Do stmt While '(' expr ')' ';'",
- "iteration_stmt : For '(' opt_expr ';' opt_expr ';' opt_expr ')' stmt",
- "jump_stmt : Goto label ';'",
- "jump_stmt : Continue ';'",
- "jump_stmt : Break ';'",
- "jump_stmt : Return ret_val ';'",
- "jump_stmt : Suspend ret_val ';'",
- "jump_stmt : Fail ';'",
- "jump_stmt : Errorfail ';'",
- "translation_unit : /* empty */",
- "translation_unit : extrn_decltn_lst",
- "extrn_decltn_lst : external_dcltion",
- "extrn_decltn_lst : extrn_decltn_lst external_dcltion",
- "external_dcltion : function_definition",
- "external_dcltion : dcltion",
- "external_dcltion : definition",
- "function_definition : func_head",
- "function_definition : func_head opt_dcltion_lst compound_stmt",
- "func_head : no_tdn_dcltor",
- "func_head : storcl_tqual_lst no_tdn_dcltor",
- "func_head : typ_dcltion_specs dcltor",
- "any_ident : identifier",
- "any_ident : typedefname",
- "label : identifier",
- "label : typedefname",
- "typedefname : TypeDefName",
- "typedefname : C_Integer",
- "typedefname : C_Double",
- "typedefname : C_String",
- "definition : /* empty */",
- "definition : description operation",
- "operation : fnc_oper op_declare actions End",
- "operation : keyword actions End",
- "operation : keyword Constant key_const End",
- "description : /* empty */",
- "description : StrLit",
- "fnc_oper : Function '{' result_seq '}' op_name '(' opt_s_parm_lst ')'",
- "fnc_oper : Operator '{' result_seq",
- "fnc_oper : Operator '{' result_seq '}' OpSym",
- "fnc_oper : Operator '{' result_seq '}' OpSym op_name '(' opt_s_parm_lst ')'",
- "keyword : Keyword '{' result_seq '}' op_name",
- "key_const : StrLit",
- "key_const : CharConst",
- "key_const : DblConst",
- "key_const : IntConst",
- "identifier : Identifier",
- "identifier : i_type_tok",
- "identifier : Abstract",
- "identifier : All_fields",
- "identifier : Body",
- "identifier : Declare",
- "identifier : End",
- "identifier : Exact",
- "identifier : Inline",
- "identifier : Key",
- "identifier : Lst_elem",
- "identifier : Named_var",
- "identifier : New",
- "identifier : Of",
- "identifier : Set_elem",
- "identifier : Store",
- "identifier : Substr",
- "identifier : Struct_var",
- "identifier : Str_var",
- "identifier : Tbl_elem",
- "identifier : Then",
- "identifier : Tmp_cset",
- "identifier : Tmp_string",
- "identifier : Trpd_tbl",
- "identifier : Type",
- "identifier : Underef",
- "op_name : identifier",
- "op_name : typedefname",
- "op_name : Auto",
- "op_name : Break",
- "op_name : Case",
- "op_name : Char",
- "op_name : Cnv",
- "op_name : Const",
- "op_name : Continue",
- "op_name : Def",
- "op_name : Default",
- "op_name : Do",
- "op_name : Doubl",
- "op_name : Else",
- "op_name : Enum",
- "op_name : Errorfail",
- "op_name : Extern",
- "op_name : Fail",
- "op_name : Float",
- "op_name : For",
- "op_name : Function",
- "op_name : Goto",
- "op_name : If",
- "op_name : Int",
- "op_name : Is",
- "op_name : Keyword",
- "op_name : Long",
- "op_name : Operator",
- "op_name : Register",
- "op_name : Return",
- "op_name : Runerr",
- "op_name : Short",
- "op_name : Signed",
- "op_name : Sizeof",
- "op_name : Static",
- "op_name : Struct",
- "op_name : Suspend",
- "op_name : Switch",
- "op_name : Tended",
- "op_name : Typedef",
- "op_name : Union",
- "op_name : Unsigned",
- "op_name : Void",
- "op_name : Volatile",
- "op_name : While",
- "result_seq : /* empty */",
- "result_seq : length opt_plus",
- "result_seq : length ',' length opt_plus",
- "length : IntConst",
- "length : '*'",
- "opt_plus : /* empty */",
- "opt_plus : '+'",
- "opt_s_parm_lst : /* empty */",
- "opt_s_parm_lst : s_parm_lst",
- "opt_s_parm_lst : s_parm_lst '[' identifier ']'",
- "s_parm_lst : s_parm",
- "s_parm_lst : s_parm_lst ',' s_parm",
- "s_parm : identifier",
- "s_parm : Underef identifier",
- "s_parm : Underef identifier Arrow identifier",
- "op_declare : /* empty */",
- "op_declare : Declare '{' local_dcls '}'",
- "opt_actions : /* empty */",
- "opt_actions : actions",
- "actions : action",
- "actions : actions action",
- "action : checking_conversions",
- "action : detail_code",
- "action : runerr",
- "action : '{' opt_actions '}'",
- "action : Abstract",
- "action : Abstract '{' type_computations",
- "action : Abstract '{' type_computations '}'",
- "checking_conversions : If type_check Then action",
- "checking_conversions : If type_check Then action Else action",
- "checking_conversions : Type_case variable Of '{' type_select_lst opt_default '}'",
- "checking_conversions : Len_case identifier Of '{' len_select_lst Default ':' action '}'",
- "type_select_lst : type_select",
- "type_select_lst : type_select_lst type_select",
- "type_select : selector_lst action",
- "opt_default : /* empty */",
- "opt_default : Default ':' action",
- "selector_lst : i_type_name ':'",
- "selector_lst : selector_lst i_type_name ':'",
- "len_select_lst : len_select",
- "len_select_lst : len_select_lst len_select",
- "len_select : IntConst ':' action",
- "type_check : simple_check_conj",
- "type_check : '!' simple_check",
- "simple_check_conj : simple_check",
- "simple_check_conj : simple_check_conj And simple_check",
- "simple_check : Is ':' i_type_name '(' variable ')'",
- "simple_check : Cnv ':' dest_type '(' variable ')'",
- "simple_check : Cnv ':' dest_type '(' variable ',' assign_expr ')'",
- "simple_check : Def ':' dest_type '(' variable ',' assign_expr ')'",
- "simple_check : Def ':' dest_type '(' variable ',' assign_expr ',' assign_expr ')'",
- "detail_code : Body",
- "detail_code : Body compound_stmt",
- "detail_code : Inline",
- "detail_code : Inline compound_stmt",
- "runerr : Runerr '(' IntConst ')' opt_semi",
- "runerr : Runerr '(' IntConst ',' variable ')' opt_semi",
- "opt_semi : /* empty */",
- "opt_semi : ';'",
- "variable : identifier",
- "variable : identifier '[' IntConst ']'",
- "dest_type : Cset",
- "dest_type : Integer",
- "dest_type : Real",
- "dest_type : String",
- "dest_type : C_Integer",
- "dest_type : C_Double",
- "dest_type : C_String",
- "dest_type : Tmp_string",
- "dest_type : Tmp_cset",
- "dest_type : '(' Exact ')' Integer",
- "dest_type : '(' Exact ')' C_Integer",
- "i_type_name : i_type_tok",
- "i_type_tok : Empty_type",
- "i_type_tok : Null",
- "i_type_tok : String",
- "i_type_tok : Cset",
- "i_type_tok : Integer",
- "i_type_tok : Real",
- "i_type_tok : File",
- "i_type_tok : List",
- "i_type_tok : Set",
- "i_type_tok : Table",
- "i_type_tok : Record",
- "i_type_tok : Procedure",
- "i_type_tok : Co_expression",
- "i_type_tok : Variable",
- "i_type_tok : Tvsubs",
- "i_type_tok : Tvtbl",
- "i_type_tok : Kywdint",
- "i_type_tok : Kywdpos",
- "i_type_tok : Kywdsubj",
- "ret_val : opt_expr",
- "ret_val : C_Integer assign_expr",
- "ret_val : C_Double assign_expr",
- "ret_val : C_String assign_expr",
- "type_computations : side_effect_lst Return type opt_semi",
- "type_computations : Return type opt_semi",
- "type_computations : side_effect_lst",
- "side_effect_lst : side_effect",
- "side_effect_lst : side_effect_lst side_effect",
- "side_effect : Store '[' type ']' '=' type opt_semi",
- "type : basic_type",
- "type : type union basic_type",
- "type : type Intersect basic_type",
- "basic_type : i_type_name",
- "basic_type : Type '(' variable ')'",
- "basic_type : New i_type_name '(' type_lst ')'",
- "basic_type : Store '[' type ']'",
- "basic_type : basic_type '.' attrb_name",
- "basic_type : '(' type ')'",
- "union : Incr",
- "type_lst : type",
- "type_lst : type_lst ',' type",
- "attrb_name : Lst_elem",
- "attrb_name : Set_elem",
- "attrb_name : Key",
- "attrb_name : Tbl_elem",
- "attrb_name : Default",
- "attrb_name : All_fields",
- "attrb_name : Str_var",
- "attrb_name : Trpd_tbl",
- };
- #endif /* YYDEBUG */
- #line 1 "/usr/lib/yaccpar"
- /* @(#)yaccpar 1.10 89/04/04 SMI; from S5R3 1.10 */
-
- /*
- ** Skeleton parser driver for yacc output
- */
-
- /*
- ** yacc user known macros and defines
- */
- #define YYERROR goto yyerrlab
- #define YYACCEPT { free((char *)yys); free((char *)yyv); return(0); }
- #define YYABORT { free((char *)yys); free((char *)yyv); return(1); }
- #define YYBACKUP( newtoken, newvalue )\
- {\
- if ( yychar >= 0 || ( yyr2[ yytmp ] >> 1 ) != 1 )\
- {\
- yyerror( "syntax error - cannot backup" );\
- goto yyerrlab;\
- }\
- yychar = newtoken;\
- yystate = *yyps;\
- yylval = newvalue;\
- goto yynewstate;\
- }
- #define YYRECOVERING() (!!yyerrflag)
- #ifndef YYDEBUG
- # define YYDEBUG 1 /* make debugging available */
- #endif
-
- /*
- ** user known globals
- */
- int yydebug; /* set to 1 to get debugging */
-
- /*
- ** driver internal defines
- */
- #define YYFLAG (-1000)
-
- /*
- ** static variables used by the parser
- */
- static YYSTYPE *yyv; /* value stack */
- static int *yys; /* state stack */
-
- static YYSTYPE *yypv; /* top of value stack */
- static int *yyps; /* top of state stack */
-
- static int yystate; /* current state */
- static int yytmp; /* extra var (lasts between blocks) */
-
- int yynerrs; /* number of errors */
-
- int yyerrflag; /* error recovery flag */
- int yychar; /* current input token number */
-
-
- /*
- ** yyparse - return 0 if worked, 1 if syntax error not recovered from
- */
- int
- yyparse()
- {
- register YYSTYPE *yypvt; /* top of value stack for $vars */
- unsigned yymaxdepth = YYMAXDEPTH;
-
- /*
- ** Initialize externals - yyparse may be called more than once
- */
- yyv = (YYSTYPE*)malloc(yymaxdepth*sizeof(YYSTYPE));
- yys = (int*)malloc(yymaxdepth*sizeof(int));
- if (!yyv || !yys)
- {
- yyerror( "out of memory" );
- return(1);
- }
- yypv = &yyv[-1];
- yyps = &yys[-1];
- yystate = 0;
- yytmp = 0;
- yynerrs = 0;
- yyerrflag = 0;
- yychar = -1;
-
- goto yystack;
- {
- register YYSTYPE *yy_pv; /* top of value stack */
- register int *yy_ps; /* top of state stack */
- register int yy_state; /* current state */
- register int yy_n; /* internal state number info */
-
- /*
- ** get globals into registers.
- ** branch to here only if YYBACKUP was called.
- */
- yynewstate:
- yy_pv = yypv;
- yy_ps = yyps;
- yy_state = yystate;
- goto yy_newstate;
-
- /*
- ** get globals into registers.
- ** either we just started, or we just finished a reduction
- */
- yystack:
- yy_pv = yypv;
- yy_ps = yyps;
- yy_state = yystate;
-
- /*
- ** top of for (;;) loop while no reductions done
- */
- yy_stack:
- /*
- ** put a state and value onto the stacks
- */
- #if YYDEBUG
- /*
- ** if debugging, look up token value in list of value vs.
- ** name pairs. 0 and negative (-1) are special values.
- ** Note: linear search is used since time is not a real
- ** consideration while debugging.
- */
- if ( yydebug )
- {
- register int yy_i;
-
- (void)printf( "State %d, token ", yy_state );
- if ( yychar == 0 )
- (void)printf( "end-of-file\n" );
- else if ( yychar < 0 )
- (void)printf( "-none-\n" );
- else
- {
- for ( yy_i = 0; yytoks[yy_i].t_val >= 0;
- yy_i++ )
- {
- if ( yytoks[yy_i].t_val == yychar )
- break;
- }
- (void)printf( "%s\n", yytoks[yy_i].t_name );
- }
- }
- #endif /* YYDEBUG */
- if ( ++yy_ps >= &yys[ yymaxdepth ] ) /* room on stack? */
- {
- /*
- ** reallocate and recover. Note that pointers
- ** have to be reset, or bad things will happen
- */
- int yyps_index = (yy_ps - yys);
- int yypv_index = (yy_pv - yyv);
- int yypvt_index = (yypvt - yyv);
- yymaxdepth += YYMAXDEPTH;
- yyv = (YYSTYPE*)realloc((char*)yyv,
- yymaxdepth * sizeof(YYSTYPE));
- yys = (int*)realloc((char*)yys,
- yymaxdepth * sizeof(int));
- if (!yyv || !yys)
- {
- yyerror( "yacc stack overflow" );
- return(1);
- }
- yy_ps = yys + yyps_index;
- yy_pv = yyv + yypv_index;
- yypvt = yyv + yypvt_index;
- }
- *yy_ps = yy_state;
- *++yy_pv = yyval;
-
- /*
- ** we have a new state - find out what to do
- */
- yy_newstate:
- if ( ( yy_n = yypact[ yy_state ] ) <= YYFLAG )
- goto yydefault; /* simple state */
- #if YYDEBUG
- /*
- ** if debugging, need to mark whether new token grabbed
- */
- yytmp = yychar < 0;
- #endif
- if ( ( yychar < 0 ) && ( ( yychar = yylex() ) < 0 ) )
- yychar = 0; /* reached EOF */
- #if YYDEBUG
- if ( yydebug && yytmp )
- {
- register int yy_i;
-
- (void)printf( "Received token " );
- if ( yychar == 0 )
- (void)printf( "end-of-file\n" );
- else if ( yychar < 0 )
- (void)printf( "-none-\n" );
- else
- {
- for ( yy_i = 0; yytoks[yy_i].t_val >= 0;
- yy_i++ )
- {
- if ( yytoks[yy_i].t_val == yychar )
- break;
- }
- (void)printf( "%s\n", yytoks[yy_i].t_name );
- }
- }
- #endif /* YYDEBUG */
- if ( ( ( yy_n += yychar ) < 0 ) || ( yy_n >= YYLAST ) )
- goto yydefault;
- if ( yychk[ yy_n = yyact[ yy_n ] ] == yychar ) /*valid shift*/
- {
- yychar = -1;
- yyval = yylval;
- yy_state = yy_n;
- if ( yyerrflag > 0 )
- yyerrflag--;
- goto yy_stack;
- }
-
- yydefault:
- if ( ( yy_n = yydef[ yy_state ] ) == -2 )
- {
- #if YYDEBUG
- yytmp = yychar < 0;
- #endif
- if ( ( yychar < 0 ) && ( ( yychar = yylex() ) < 0 ) )
- yychar = 0; /* reached EOF */
- #if YYDEBUG
- if ( yydebug && yytmp )
- {
- register int yy_i;
-
- (void)printf( "Received token " );
- if ( yychar == 0 )
- (void)printf( "end-of-file\n" );
- else if ( yychar < 0 )
- (void)printf( "-none-\n" );
- else
- {
- for ( yy_i = 0;
- yytoks[yy_i].t_val >= 0;
- yy_i++ )
- {
- if ( yytoks[yy_i].t_val
- == yychar )
- {
- break;
- }
- }
- (void)printf( "%s\n", yytoks[yy_i].t_name );
- }
- }
- #endif /* YYDEBUG */
- /*
- ** look through exception table
- */
- {
- register int *yyxi = yyexca;
-
- while ( ( *yyxi != -1 ) ||
- ( yyxi[1] != yy_state ) )
- {
- yyxi += 2;
- }
- while ( ( *(yyxi += 2) >= 0 ) &&
- ( *yyxi != yychar ) )
- ;
- if ( ( yy_n = yyxi[1] ) < 0 )
- YYACCEPT;
- }
- }
-
- /*
- ** check for syntax error
- */
- if ( yy_n == 0 ) /* have an error */
- {
- /* no worry about speed here! */
- switch ( yyerrflag )
- {
- case 0: /* new error */
- yyerror( "syntax error" );
- goto skip_init;
- yyerrlab:
- /*
- ** get globals into registers.
- ** we have a user generated syntax type error
- */
- yy_pv = yypv;
- yy_ps = yyps;
- yy_state = yystate;
- yynerrs++;
- skip_init:
- case 1:
- case 2: /* incompletely recovered error */
- /* try again... */
- yyerrflag = 3;
- /*
- ** find state where "error" is a legal
- ** shift action
- */
- while ( yy_ps >= yys )
- {
- yy_n = yypact[ *yy_ps ] + YYERRCODE;
- if ( yy_n >= 0 && yy_n < YYLAST &&
- yychk[yyact[yy_n]] == YYERRCODE) {
- /*
- ** simulate shift of "error"
- */
- yy_state = yyact[ yy_n ];
- goto yy_stack;
- }
- /*
- ** current state has no shift on
- ** "error", pop stack
- */
- #if YYDEBUG
- # define _POP_ "Error recovery pops state %d, uncovers state %d\n"
- if ( yydebug )
- (void)printf( _POP_, *yy_ps,
- yy_ps[-1] );
- # undef _POP_
- #endif
- yy_ps--;
- yy_pv--;
- }
- /*
- ** there is no state on stack with "error" as
- ** a valid shift. give up.
- */
- YYABORT;
- case 3: /* no shift yet; eat a token */
- #if YYDEBUG
- /*
- ** if debugging, look up token in list of
- ** pairs. 0 and negative shouldn't occur,
- ** but since timing doesn't matter when
- ** debugging, it doesn't hurt to leave the
- ** tests here.
- */
- if ( yydebug )
- {
- register int yy_i;
-
- (void)printf( "Error recovery discards " );
- if ( yychar == 0 )
- (void)printf( "token end-of-file\n" );
- else if ( yychar < 0 )
- (void)printf( "token -none-\n" );
- else
- {
- for ( yy_i = 0;
- yytoks[yy_i].t_val >= 0;
- yy_i++ )
- {
- if ( yytoks[yy_i].t_val
- == yychar )
- {
- break;
- }
- }
- (void)printf( "token %s\n",
- yytoks[yy_i].t_name );
- }
- }
- #endif /* YYDEBUG */
- if ( yychar == 0 ) /* reached EOF. quit */
- YYABORT;
- yychar = -1;
- goto yy_newstate;
- }
- }/* end if ( yy_n == 0 ) */
- /*
- ** reduction by production yy_n
- ** put stack tops, etc. so things right after switch
- */
- #if YYDEBUG
- /*
- ** if debugging, print the string that is the user's
- ** specification of the reduction which is just about
- ** to be done.
- */
- if ( yydebug )
- (void)printf( "Reduce by (%d) \"%s\"\n",
- yy_n, yyreds[ yy_n ] );
- #endif
- yytmp = yy_n; /* value to switch over */
- yypvt = yy_pv; /* $vars top of value stack */
- /*
- ** Look in goto table for next state
- ** Sorry about using yy_state here as temporary
- ** register variable, but why not, if it works...
- ** If yyr2[ yy_n ] doesn't have the low order bit
- ** set, then there is no action to be done for
- ** this reduction. So, no saving & unsaving of
- ** registers done. The only difference between the
- ** code just after the if and the body of the if is
- ** the goto yy_stack in the body. This way the test
- ** can be made before the choice of what to do is needed.
- */
- {
- /* length of production doubled with extra bit */
- register int yy_len = yyr2[ yy_n ];
-
- if ( !( yy_len & 01 ) )
- {
- yy_len >>= 1;
- yyval = ( yy_pv -= yy_len )[1]; /* $$ = $1 */
- yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] +
- *( yy_ps -= yy_len ) + 1;
- if ( yy_state >= YYLAST ||
- yychk[ yy_state =
- yyact[ yy_state ] ] != -yy_n )
- {
- yy_state = yyact[ yypgo[ yy_n ] ];
- }
- goto yy_stack;
- }
- yy_len >>= 1;
- yyval = ( yy_pv -= yy_len )[1]; /* $$ = $1 */
- yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] +
- *( yy_ps -= yy_len ) + 1;
- if ( yy_state >= YYLAST ||
- yychk[ yy_state = yyact[ yy_state ] ] != -yy_n )
- {
- yy_state = yyact[ yypgo[ yy_n ] ];
- }
- }
- /* save until reenter driver code */
- yystate = yy_state;
- yyps = yy_ps;
- yypv = yy_pv;
- }
- /*
- ** code supplied by user is placed in this switch
- */
- switch( yytmp )
- {
-
- case 1:
- # line 86 "rttgram.y"
- {yyval.n = var_node(yypvt[-0].t);} break;
- case 2:
- # line 87 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 3:
- # line 88 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 4:
- # line 89 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 5:
- # line 90 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 6:
- # line 91 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 7:
- # line 92 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 8:
- # line 93 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 9:
- # line 94 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 10:
- # line 95 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 11:
- # line 96 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 12:
- # line 97 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 13:
- # line 98 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 15:
- # line 103 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-2].t, yypvt[-3].n, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 16:
- # line 105 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-2].n, NULL);
- free_t(yypvt[-1].t);} break;
- case 17:
- # line 107 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-3].n, yypvt[-1].n);
- free_t(yypvt[-2].t);} break;
- case 18:
- # line 109 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 19:
- # line 110 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 20:
- # line 111 "rttgram.y"
- {yyval.n = node1(PstfxNd, yypvt[-0].t, yypvt[-1].n);} break;
- case 21:
- # line 112 "rttgram.y"
- {yyval.n = node1(PstfxNd, yypvt[-0].t, yypvt[-1].n);} break;
- case 22:
- # line 114 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-5].t, yypvt[-3].n, yypvt[-1].n); free_t(yypvt[-4].t); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 23:
- # line 116 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-7].t, yypvt[-5].n, yypvt[-3].n, yypvt[-1].n), free_t(yypvt[-6].t); free_t(yypvt[-4].t); free_t(yypvt[-2].t);
- free_t(yypvt[-0].t);} break;
- case 24:
- # line 119 "rttgram.y"
- {yyval.n = node4(QuadNd, yypvt[-9].t, yypvt[-7].n, yypvt[-5].n, yypvt[-3].n, yypvt[-1].n), free_t(yypvt[-8].t); free_t(yypvt[-6].t);
- free_t(yypvt[-4].t); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 26:
- # line 125 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 28:
- # line 130 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 29:
- # line 131 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 30:
- # line 132 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 31:
- # line 133 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 32:
- # line 134 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-3].t, yypvt[-1].n);
- free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 40:
- # line 149 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-3].t, yypvt[-2].n, yypvt[-0].n); free_t(yypvt[-1].t);} break;
- case 42:
- # line 154 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 43:
- # line 155 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 44:
- # line 156 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 46:
- # line 161 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 47:
- # line 162 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 49:
- # line 167 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 50:
- # line 168 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 52:
- # line 173 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 53:
- # line 174 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 54:
- # line 175 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 55:
- # line 176 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 57:
- # line 181 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 58:
- # line 182 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 60:
- # line 187 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 62:
- # line 192 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 64:
- # line 197 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 66:
- # line 202 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 68:
- # line 207 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 70:
- # line 213 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-3].t, yypvt[-4].n, yypvt[-2].n, yypvt[-0].n);
- free_t(yypvt[-1].t);} break;
- case 72:
- # line 219 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 85:
- # line 238 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 86:
- # line 242 "rttgram.y"
- {yyval.n = NULL;} break;
- case 89:
- # line 251 "rttgram.y"
- {yyval.n = NULL;} break;
- case 91:
- # line 256 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-1].n, NULL);
- dcl_stk->kind_dcl = OtherDcl;} break;
- case 92:
- # line 258 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-2].n, yypvt[-1].n);
- dcl_stk->kind_dcl = OtherDcl;} break;
- case 93:
- # line 261 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-2].n, yypvt[-1].n);
- dcl_stk->kind_dcl = OtherDcl;} break;
- case 95:
- # line 267 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 98:
- # line 276 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 99:
- # line 278 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, node0(PrimryNd, yypvt[-1].t), yypvt[-0].n);} break;
- case 102:
- # line 284 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 103:
- # line 285 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 104:
- # line 286 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 107:
- # line 292 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 108:
- # line 293 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 110:
- # line 298 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 112:
- # line 304 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 113:
- # line 308 "rttgram.y"
- {yyval.n = yypvt[-0].n; id_def(yypvt[-0].n, NULL);} break;
- case 114:
- # line 309 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n); id_def(yypvt[-2].n, yypvt[-0].n);} break;
- case 115:
- # line 313 "rttgram.y"
- {yyval.n = yypvt[-0].n; id_def(yypvt[-0].n, NULL);} break;
- case 116:
- # line 315 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n); id_def(yypvt[-2].n, yypvt[-0].n);} break;
- case 117:
- # line 319 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t); dcl_stk->kind_dcl = IsTypedef;} break;
- case 118:
- # line 320 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 119:
- # line 321 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 120:
- # line 322 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 121:
- # line 323 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 123:
- # line 328 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 124:
- # line 332 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 125:
- # line 333 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 126:
- # line 334 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 127:
- # line 335 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 128:
- # line 336 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 129:
- # line 337 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 130:
- # line 338 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 131:
- # line 339 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 132:
- # line 340 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 135:
- # line 347 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-4].t, yypvt[-3].n, yypvt[-1].n);
- free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 136:
- # line 350 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-3].t, NULL, yypvt[-1].n);
- free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 137:
- # line 352 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-0].n, NULL);} break;
- case 141:
- # line 362 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 142:
- # line 367 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-2].n, yypvt[-1].n);} break;
- case 143:
- # line 368 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-2].n, yypvt[-1].n);} break;
- case 145:
- # line 373 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 146:
- # line 377 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 147:
- # line 378 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, node0(PrimryNd, yypvt[-1].t), yypvt[-0].n);} break;
- case 150:
- # line 384 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 151:
- # line 385 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 153:
- # line 389 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 154:
- # line 393 "rttgram.y"
- {yyval.n = node2(StrDclNd, NULL, yypvt[-0].n, NULL);
- if (dcl_stk->parms_done) pop_cntxt();} break;
- case 155:
- # line 395 "rttgram.y"
- {yyval.n = node2(StrDclNd, yypvt[-1].t, NULL, yypvt[-0].n);} break;
- case 156:
- # line 396 "rttgram.y"
- {if (dcl_stk->parms_done) pop_cntxt();} break;
- case 157:
- # line 397 "rttgram.y"
- {yyval.n = node2(StrDclNd, yypvt[-2].t, yypvt[-3].n, yypvt[-0].n);} break;
- case 159:
- # line 403 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 160:
- # line 407 "rttgram.y"
- {yyval.n = node2(StrDclNd, NULL, yypvt[-0].n, NULL);
- if (dcl_stk->parms_done) pop_cntxt();} break;
- case 161:
- # line 409 "rttgram.y"
- {yyval.n = node2(StrDclNd, yypvt[-1].t, NULL, yypvt[-0].n);} break;
- case 162:
- # line 410 "rttgram.y"
- {if (dcl_stk->parms_done) pop_cntxt();} break;
- case 163:
- # line 411 "rttgram.y"
- {yyval.n = node2(StrDclNd, yypvt[-2].t, yypvt[-3].n, yypvt[-0].n);} break;
- case 164:
- # line 415 "rttgram.y"
- {push_cntxt(0);} break;
- case 165:
- # line 416 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-4].t, NULL, yypvt[-1].n); pop_cntxt(); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 166:
- # line 417 "rttgram.y"
- {push_cntxt(0);} break;
- case 167:
- # line 418 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-5].t, yypvt[-4].n, yypvt[-1].n); pop_cntxt(); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 168:
- # line 419 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-0].n, NULL);} break;
- case 170:
- # line 424 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 171:
- # line 428 "rttgram.y"
- {yyval.n = yypvt[-0].n; id_def(yypvt[-0].n, NULL);} break;
- case 172:
- # line 430 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n); id_def(yypvt[-2].n, yypvt[-0].n);} break;
- case 173:
- # line 434 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 174:
- # line 435 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 175:
- # line 440 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 176:
- # line 444 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 178:
- # line 449 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 179:
- # line 451 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-2].t, yypvt[-3].n, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 180:
- # line 453 "rttgram.y"
- {push_cntxt(1);} break;
- case 181:
- # line 454 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-4].n, yypvt[-1].n);
- if (dcl_stk->nest_lvl == 2)
- dcl_stk->parms_done = 1;
- else
- pop_cntxt();
- free_t(yypvt[-3].t);} break;
- case 182:
- # line 463 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 183:
- # line 464 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 184:
- # line 467 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-2].t, yypvt[-3].n, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 185:
- # line 469 "rttgram.y"
- {push_cntxt(1);} break;
- case 186:
- # line 470 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-4].n, yypvt[-1].n);
- if (dcl_stk->nest_lvl == 2)
- dcl_stk->parms_done = 1;
- else
- pop_cntxt();
- free_t(yypvt[-3].t);} break;
- case 189:
- # line 484 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 190:
- # line 485 "rttgram.y"
- {yyval.n = node1(PreSpcNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 191:
- # line 486 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 192:
- # line 487 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, node2(LstNd, NULL, yypvt[-1].n,yypvt[-0].n));} break;
- case 193:
- # line 491 "rttgram.y"
- {yyval.n = NULL;} break;
- case 196:
- # line 497 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 198:
- # line 502 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, node0(PrimryNd, yypvt[-0].t));} break;
- case 199:
- # line 506 "rttgram.y"
- {yyval.n = NULL;} break;
- case 202:
- # line 512 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 203:
- # line 516 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);
- id_def(yypvt[-0].n, NULL);} break;
- case 205:
- # line 519 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 206:
- # line 523 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 207:
- # line 524 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, node0(PrimryNd,yypvt[-0].t));} break;
- case 210:
- # line 530 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 211:
- # line 531 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 213:
- # line 536 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 215:
- # line 541 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 216:
- # line 545 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 217:
- # line 548 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-2].t, NULL, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 218:
- # line 551 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-2].t, yypvt[-3].n, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 219:
- # line 553 "rttgram.y"
- {push_cntxt(1);} break;
- case 220:
- # line 554 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, NULL, yypvt[-1].n);
- pop_cntxt();
- free_t(yypvt[-3].t);} break;
- case 221:
- # line 557 "rttgram.y"
- {push_cntxt(1);} break;
- case 222:
- # line 558 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-0].t, yypvt[-4].n, yypvt[-1].n);
- pop_cntxt();
- free_t(yypvt[-3].t);} break;
- case 224:
- # line 566 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 225:
- # line 568 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-3].t, node2(CommaNd, yypvt[-1].t, yypvt[-2].n, NULL));
- free_t(yypvt[-0].t);} break;
- case 227:
- # line 574 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 230:
- # line 583 "rttgram.y"
- {push_cntxt(1);} break;
- case 231:
- # line 583 "rttgram.y"
- {yyval.n = yypvt[-0].n; pop_cntxt();} break;
- case 236:
- # line 589 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-4].t, yypvt[-2].n, NULL); free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 237:
- # line 591 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-6].t, yypvt[-4].n, yypvt[-2].n); free_t(yypvt[-5].t); free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 238:
- # line 595 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 239:
- # line 596 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-3].t, yypvt[-2].n, yypvt[-0].n); free_t(yypvt[-1].t);} break;
- case 240:
- # line 597 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-0].n); free_t(yypvt[-1].t);} break;
- case 241:
- # line 601 "rttgram.y"
- {yyval.n = comp_nd(yypvt[-2].t, NULL, yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 242:
- # line 602 "rttgram.y"
- {yyval.n = comp_nd(yypvt[-3].t, yypvt[-2].n, yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 244:
- # line 607 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 245:
- # line 611 "rttgram.y"
- {yyval.n = NULL;} break;
- case 248:
- # line 617 "rttgram.y"
- {yyval.n = (yypvt[-0].n == NULL ? yypvt[-1].n : node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n));} break;
- case 250:
- # line 623 "rttgram.y"
- {yyval.n = NULL; free_t(yypvt[-3].t); free_t(yypvt[-0].t); dcl_stk->kind_dcl = OtherDcl;} break;
- case 251:
- # line 627 "rttgram.y"
- {tnd_char(); free_t(yypvt[-0].t);} break;
- case 252:
- # line 628 "rttgram.y"
- {tnd_strct(yypvt[-0].t); free_t(yypvt[-1].t);} break;
- case 253:
- # line 629 "rttgram.y"
- {tnd_strct(yypvt[-0].t); free_t(yypvt[-1].t);} break;
- case 254:
- # line 630 "rttgram.y"
- {tnd_union(yypvt[-0].t); free_t(yypvt[-1].t);} break;
- case 256:
- # line 635 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 257:
- # line 639 "rttgram.y"
- {yyval.n = NULL;} break;
- case 259:
- # line 643 "rttgram.y"
- {yyval.n = node1(PstfxNd, yypvt[-0].t, yypvt[-1].n);} break;
- case 260:
- # line 647 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-4].t, yypvt[-2].n, yypvt[-0].n,NULL);
- free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 261:
- # line 649 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-6].t, yypvt[-4].n, yypvt[-2].n, yypvt[-0].n);
- free_t(yypvt[-5].t); free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 262:
- # line 651 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-4].t, yypvt[-2].n, yypvt[-0].n);
- free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 263:
- # line 654 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-6].t, yypvt[-5].n, yypvt[-2].n, yypvt[-1].n); free_t(yypvt[-4].t); free_t(yypvt[-3].t); free_t(yypvt[-0].t);} break;
- case 264:
- # line 658 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, NULL, yypvt[-0].n);} break;
- case 265:
- # line 659 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 266:
- # line 663 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 267:
- # line 667 "rttgram.y"
- {yyval.n = NULL;} break;
- case 268:
- # line 668 "rttgram.y"
- {yyval.n = yypvt[-0].n; free_t(yypvt[-2].t); free_t(yypvt[-1].t);} break;
- case 269:
- # line 672 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-4].t, yypvt[-2].n, yypvt[-0].n);
- free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 270:
- # line 674 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-6].t, yypvt[-5].n, yypvt[-2].n);
- free_t(yypvt[-4].t); free_t(yypvt[-3].t); free_t(yypvt[-1].t);
- free_t(yypvt[-0].t);} break;
- case 271:
- # line 678 "rttgram.y"
- {yyval.n = node4(QuadNd, yypvt[-8].t, yypvt[-6].n, yypvt[-4].n, yypvt[-2].n, yypvt[-0].n);
- free_t(yypvt[-7].t); free_t(yypvt[-5].t); free_t(yypvt[-3].t);
- free_t(yypvt[-1].t);} break;
- case 272:
- # line 684 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 273:
- # line 685 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-1].t); free_t(yypvt[-0].t);} break;
- case 274:
- # line 686 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-1].t); free_t(yypvt[-0].t);} break;
- case 275:
- # line 687 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 276:
- # line 688 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 277:
- # line 689 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-1].t); free_t(yypvt[-0].t);} break;
- case 278:
- # line 690 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-1].t); free_t(yypvt[-0].t);} break;
- case 284:
- # line 705 "rttgram.y"
- {dclout(yypvt[-0].n);} break;
- case 286:
- # line 710 "rttgram.y"
- {func_def(yypvt[-0].n);} break;
- case 287:
- # line 711 "rttgram.y"
- {fncout(yypvt[-3].n, yypvt[-1].n, yypvt[-0].n);} break;
- case 288:
- # line 715 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, NULL, yypvt[-0].n);} break;
- case 289:
- # line 716 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 290:
- # line 717 "rttgram.y"
- {yyval.n = node2(LstNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 291:
- # line 721 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 292:
- # line 722 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 293:
- # line 726 "rttgram.y"
- {yyval.n = lbl(yypvt[-0].t);} break;
- case 294:
- # line 727 "rttgram.y"
- {yyval.n = lbl(yypvt[-0].t);} break;
- case 299:
- # line 742 "rttgram.y"
- {strt_def();} break;
- case 301:
- # line 746 "rttgram.y"
- {defout(yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 302:
- # line 747 "rttgram.y"
- {defout(yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 303:
- # line 748 "rttgram.y"
- {keyconst(yypvt[-1].t); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 304:
- # line 752 "rttgram.y"
- {comment = NULL;} break;
- case 305:
- # line 753 "rttgram.y"
- {comment = yypvt[-0].t;} break;
- case 306:
- # line 758 "rttgram.y"
- {impl_fnc(yypvt[-3].t); free_t(yypvt[-7].t); free_t(yypvt[-6].t); free_t(yypvt[-4].t); free_t(yypvt[-2].t);
- free_t(yypvt[-0].t);} break;
- case 307:
- # line 760 "rttgram.y"
- {lex_state = OpHead;} break;
- case 308:
- # line 761 "rttgram.y"
- {lex_state = DfltLex;} break;
- case 309:
- # line 762 "rttgram.y"
- {impl_op(yypvt[-5].t, yypvt[-3].t); free_t(yypvt[-10].t); free_t(yypvt[-9].t); free_t(yypvt[-6].t); free_t(yypvt[-2].t);
- free_t(yypvt[-0].t);} break;
- case 310:
- # line 767 "rttgram.y"
- {impl_key(yypvt[-0].t); free_t(yypvt[-4].t); free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 386:
- # line 861 "rttgram.y"
- {set_r_seq(NoRsltSeq, NoRsltSeq, 0);} break;
- case 387:
- # line 862 "rttgram.y"
- {set_r_seq(yypvt[-1].i, yypvt[-1].i, (int)yypvt[-0].i);} break;
- case 388:
- # line 863 "rttgram.y"
- {set_r_seq(yypvt[-3].i, yypvt[-1].i, (int)yypvt[-0].i); free_t(yypvt[-2].t);} break;
- case 389:
- # line 867 "rttgram.y"
- {yyval.i = ttol(yypvt[-0].t); free_t(yypvt[-0].t);} break;
- case 390:
- # line 868 "rttgram.y"
- {yyval.i = UnbndSeq; free_t(yypvt[-0].t);} break;
- case 391:
- # line 872 "rttgram.y"
- {yyval.i = 0;} break;
- case 392:
- # line 873 "rttgram.y"
- {yyval.i = 1; free_t(yypvt[-0].t);} break;
- case 395:
- # line 879 "rttgram.y"
- {var_args(yypvt[-1].t); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 397:
- # line 884 "rttgram.y"
- {free_t(yypvt[-1].t);} break;
- case 398:
- # line 888 "rttgram.y"
- {s_prm_def(NULL, yypvt[-0].t);} break;
- case 399:
- # line 889 "rttgram.y"
- {s_prm_def(yypvt[-0].t, NULL); free_t(yypvt[-1].t);} break;
- case 400:
- # line 890 "rttgram.y"
- {s_prm_def(yypvt[-2].t, yypvt[-0].t); free_t(yypvt[-3].t);
- free((char *)yypvt[-1].t);} break;
- case 401:
- # line 895 "rttgram.y"
- {} break;
- case 402:
- # line 896 "rttgram.y"
- {d_lst_typ(yypvt[-1].n); free_t(yypvt[-3].t); free_t(yypvt[-2].t);
- free_t(yypvt[-0].t);} break;
- case 403:
- # line 901 "rttgram.y"
- {yyval.n = NULL;} break;
- case 406:
- # line 907 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 410:
- # line 914 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-1].n); free_t(yypvt[-0].t);} break;
- case 411:
- # line 915 "rttgram.y"
- {lex_state = TypeComp;} break;
- case 412:
- # line 916 "rttgram.y"
- {lex_state = DfltLex;} break;
- case 413:
- # line 917 "rttgram.y"
- {yyval.n = yypvt[-2].n; free_t(yypvt[-5].t); free_t(yypvt[-3].t); free_t(yypvt[-0].t);} break;
- case 414:
- # line 922 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-3].t, yypvt[-2].n, yypvt[-0].n, NULL); free_t(yypvt[-1].t);} break;
- case 415:
- # line 924 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-5].t, yypvt[-4].n, yypvt[-2].n, yypvt[-0].n); free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 416:
- # line 926 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-6].t, yypvt[-5].n, yypvt[-2].n, yypvt[-1].n); free_t(yypvt[-4].t); free_t(yypvt[-3].t); free_t(yypvt[-0].t);} break;
- case 417:
- # line 928 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-8].t, var_node(yypvt[-7].t), yypvt[-4].n, yypvt[-1].n); free_t(yypvt[-6].t), free_t(yypvt[-5].t);
- free_t(yypvt[-3].t); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 418:
- # line 933 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, NULL, yypvt[-0].n);} break;
- case 419:
- # line 934 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 420:
- # line 938 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 421:
- # line 942 "rttgram.y"
- {yyval.n = NULL;} break;
- case 422:
- # line 943 "rttgram.y"
- {yyval.n = yypvt[-0].n; free_t(yypvt[-2].t); free_t(yypvt[-1].t);} break;
- case 423:
- # line 947 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, NULL, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 424:
- # line 949 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-2].n, yypvt[-1].n);
- free_t(yypvt[-0].t);} break;
- case 426:
- # line 955 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 427:
- # line 959 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-0].n); free_t(yypvt[-1].t);} break;
- case 429:
- # line 964 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 431:
- # line 969 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 432:
- # line 974 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-5].t, yypvt[-3].n, yypvt[-1].n); free_t(yypvt[-4].t); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 433:
- # line 976 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-5].t, yypvt[-3].n, yypvt[-1].n, NULL), dst_alloc(yypvt[-3].n, yypvt[-1].n); free_t(yypvt[-4].t);
- free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 434:
- # line 979 "rttgram.y"
- {yyval.n = node3(TrnryNd, yypvt[-7].t, yypvt[-5].n, yypvt[-3].n, yypvt[-1].n), free_t(yypvt[-6].t); free_t(yypvt[-4].t); free_t(yypvt[-2].t);
- free_t(yypvt[-0].t);} break;
- case 435:
- # line 982 "rttgram.y"
- {yyval.n = node4(QuadNd, yypvt[-7].t, yypvt[-5].n, yypvt[-3].n, yypvt[-1].n, NULL), dst_alloc(yypvt[-5].n, yypvt[-3].n); free_t(yypvt[-6].t);
- free_t(yypvt[-4].t); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 436:
- # line 985 "rttgram.y"
- {yyval.n = node4(QuadNd, yypvt[-9].t, yypvt[-7].n, yypvt[-5].n, yypvt[-3].n, yypvt[-1].n), free_t(yypvt[-8].t); free_t(yypvt[-6].t);
- free_t(yypvt[-4].t); free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 437:
- # line 990 "rttgram.y"
- {push_cntxt(1);} break;
- case 438:
- # line 991 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-0].n); pop_cntxt();} break;
- case 439:
- # line 992 "rttgram.y"
- {push_cntxt(1);} break;
- case 440:
- # line 993 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-2].t, yypvt[-0].n); pop_cntxt();} break;
- case 441:
- # line 998 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-4].t, node0(PrimryNd, yypvt[-2].t), NULL);
- free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 442:
- # line 1001 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-6].t, node0(PrimryNd, yypvt[-4].t), yypvt[-2].n);
- free_t(yypvt[-5].t); free_t(yypvt[-3].t); free_t(yypvt[-1].t);} break;
- case 444:
- # line 1007 "rttgram.y"
- {free_t(yypvt[-0].t);} break;
- case 445:
- # line 1011 "rttgram.y"
- {yyval.n = var_node(yypvt[-0].t);} break;
- case 446:
- # line 1012 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-2].t, var_node(yypvt[-3].t),
- node0(PrimryNd, yypvt[-1].t));
- free_t(yypvt[-0].t);} break;
- case 447:
- # line 1017 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 448:
- # line 1018 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 449:
- # line 1019 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 450:
- # line 1020 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 451:
- # line 1021 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 452:
- # line 1022 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 453:
- # line 1023 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 454:
- # line 1024 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t); ++n_tmp_str;} break;
- case 455:
- # line 1025 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t); ++n_tmp_cset;} break;
- case 456:
- # line 1026 "rttgram.y"
- {yyval.n = node0(ExactCnv, yypvt[-0].t); free_t(yypvt[-3].t); free_t(yypvt[-2].t);
- free_t(yypvt[-1].t);} break;
- case 457:
- # line 1028 "rttgram.y"
- {yyval.n = node0(ExactCnv, yypvt[-0].t); free_t(yypvt[-3].t); free_t(yypvt[-2].t);
- free_t(yypvt[-1].t);} break;
- case 458:
- # line 1033 "rttgram.y"
- {yyval.n = node0(PrimryNd, yypvt[-0].t);} break;
- case 479:
- # line 1060 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 480:
- # line 1061 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 481:
- # line 1062 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-1].t, yypvt[-0].n);} break;
- case 482:
- # line 1066 "rttgram.y"
- {yyval.n = node2(AbstrNd, yypvt[-2].t, yypvt[-3].n, yypvt[-1].n);} break;
- case 483:
- # line 1067 "rttgram.y"
- {yyval.n = node2(AbstrNd, yypvt[-2].t, NULL, yypvt[-1].n);} break;
- case 484:
- # line 1068 "rttgram.y"
- {yyval.n = node2(AbstrNd, NULL, yypvt[-0].n, NULL);} break;
- case 486:
- # line 1073 "rttgram.y"
- {yyval.n = node2(ConCatNd, NULL, yypvt[-1].n, yypvt[-0].n);} break;
- case 487:
- # line 1077 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-2].t, yypvt[-4].n, yypvt[-1].n);
- free_t(yypvt[-6].t); free_t(yypvt[-5].t); free_t(yypvt[-3].t);} break;
- case 489:
- # line 1083 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 490:
- # line 1084 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- case 491:
- # line 1087 "rttgram.y"
- {yyval.n = node1(IcnTypNd, NULL, yypvt[-0].n);} break;
- case 492:
- # line 1088 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-3].t, yypvt[-1].n);
- free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 493:
- # line 1090 "rttgram.y"
- {yyval.n = node2(BinryNd, yypvt[-4].t, yypvt[-3].n, yypvt[-1].n);
- free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 494:
- # line 1092 "rttgram.y"
- {yyval.n = node1(PrefxNd, yypvt[-3].t, yypvt[-1].n);
- free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 495:
- # line 1094 "rttgram.y"
- {yyval.n = node1(PstfxNd, yypvt[-0].t, yypvt[-2].n);
- free_t(yypvt[-1].t);} break;
- case 496:
- # line 1096 "rttgram.y"
- {yyval.n = yypvt[-1].n; free_t(yypvt[-2].t); free_t(yypvt[-0].t);} break;
- case 499:
- # line 1105 "rttgram.y"
- {yyval.n = node2(CommaNd, yypvt[-1].t, yypvt[-2].n, yypvt[-0].n);} break;
- }
- goto yystack; /* reset registers in driver code */
- }
-